
namespace msg {

    interface IMSG_HeartBeat {
    }

    export class MSG_HeartBeat implements IMSG_HeartBeat {
    }

    interface IMSG_Ping {
        client_time?: (string|null);
    }

    export class MSG_Ping implements IMSG_Ping {
        public client_time: string;
    }

    interface IMSG_Pong {
        client_time?: (string|null);
        server_time?: (string|null);
    }

    export class MSG_Pong implements IMSG_Pong {
        public client_time: string;
        public server_time: string;
    }

    interface IMSG_LoginRequest {
        account?: (string|null);
        version?: (number|null);
        gasdk_string?: (string|null);
        platform?: (string|null);
        check_version?: (string|null);
    }

    export class MSG_LoginRequest implements IMSG_LoginRequest {
        public account: string;
        public version: number;
        public gasdk_string: string;
        public platform: string;
        public check_version: string;
    }

    interface IMSG_LoginResponse {
        retcode?: (number|null);
        profile?: (IT_UserProfile|null);
        register?: (boolean|null);
        text?: (string|null);
        max_weekly_money?: (number|null);
        gm?: (boolean|null);
        new_beginner_step?: (number|null);
        skill_guide?: (number|null);
        weekly_limit?: (IT_WeeklyMoneyLimit|null);
        online?: (boolean|null);
    }

    export class MSG_LoginResponse implements IMSG_LoginResponse {
        public retcode: number;
        public profile?: (IT_UserProfile|null);
        public register: boolean;
        public text: string;
        public max_weekly_money: number;
        public gm: boolean;
        public new_beginner_step: number;
        public skill_guide: number;
        public weekly_limit?: (IT_WeeklyMoneyLimit|null);
        public online: boolean;
    }

    interface IMSG_RequireMatchRoom {
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequireMatchRoom implements IMSG_RequireMatchRoom {
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_CancelMatchRoom {
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_CancelMatchRoom implements IMSG_CancelMatchRoom {
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_MatchAllReady {
        all_ready_time?: (number|protobuf.Long|null);
    }

    export class MSG_MatchAllReady implements IMSG_MatchAllReady {
        public all_ready_time: (number|protobuf.Long);
    }

    interface IMSG_AskJoinRoom {
        room_id?: (number|protobuf.Long|null);
        users?: ((number|protobuf.Long)[]|null);
    }

    export class MSG_AskJoinRoom implements IMSG_AskJoinRoom {
        public room_id: (number|protobuf.Long);
        public users: (number|protobuf.Long)[];
    }

    interface IMSG_BeforeJoinRoom {
        room_id?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        gate_id?: (number|protobuf.Long|null);
        success?: (boolean|null);
    }

    export class MSG_BeforeJoinRoom implements IMSG_BeforeJoinRoom {
        public room_id: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public gate_id: (number|protobuf.Long);
        public success: boolean;
    }

    interface IMSG_ResponseBeforeJoinRoom {
        room_id?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        gate_id?: (number|protobuf.Long|null);
        success?: (boolean|null);
    }

    export class MSG_ResponseBeforeJoinRoom implements IMSG_ResponseBeforeJoinRoom {
        public room_id: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public gate_id: (number|protobuf.Long);
        public success: boolean;
    }

    interface IMSG_JoinRoom {
        room_id?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        user_gender?: (number|null);
        gate_id?: (number|protobuf.Long|null);
        view?: (boolean|null);
        view_id?: (number|protobuf.Long|null);
    }

    export class MSG_JoinRoom implements IMSG_JoinRoom {
        public room_id: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public user_gender: number;
        public gate_id: (number|protobuf.Long);
        public view: boolean;
        public view_id: (number|protobuf.Long);
    }

    interface IMSG_ChangeName {
        new_name?: (string|null);
    }

    export class MSG_ChangeName implements IMSG_ChangeName {
        public new_name: string;
    }

    interface IMSG_MatchInfo {
        wait_count?: (number|protobuf.Long|null);
        max_count?: (number|protobuf.Long|null);
        expect_match_time?: (number|protobuf.Long|null);
        client_match_type?: (number|null);
    }

    export class MSG_MatchInfo implements IMSG_MatchInfo {
        public wait_count: (number|protobuf.Long);
        public max_count: (number|protobuf.Long);
        public expect_match_time: (number|protobuf.Long);
        public client_match_type: number;
    }

    interface IMSG_ActiveWeapon {
        weapon_id?: (number|protobuf.Long|null);
        active?: (boolean|null);
    }

    export class MSG_ActiveWeapon implements IMSG_ActiveWeapon {
        public weapon_id: (number|protobuf.Long);
        public active: boolean;
    }

    interface IMSG_ActiveWeaponResponse {
        weapon_id?: (number|protobuf.Long|null);
        active?: (boolean|null);
    }

    export class MSG_ActiveWeaponResponse implements IMSG_ActiveWeaponResponse {
        public weapon_id: (number|protobuf.Long);
        public active: boolean;
    }

    interface IMSG_UnlockWeapon {
        weapon_id?: (number|protobuf.Long|null);
        money_type?: (number|protobuf.Long|null);
    }

    export class MSG_UnlockWeapon implements IMSG_UnlockWeapon {
        public weapon_id: (number|protobuf.Long);
        public money_type: (number|protobuf.Long);
    }

    interface IMSG_UnlockWeaponResponse {
        weapon_id?: (number|protobuf.Long|null);
        unlock?: (boolean|null);
    }

    export class MSG_UnlockWeaponResponse implements IMSG_UnlockWeaponResponse {
        public weapon_id: (number|protobuf.Long);
        public unlock: boolean;
    }

    interface IMSG_GetMyRoomId {
    }

    export class MSG_GetMyRoomId implements IMSG_GetMyRoomId {
    }

    interface IMSG_RetMyRoomId {
        room_id?: (number|protobuf.Long|null);
    }

    export class MSG_RetMyRoomId implements IMSG_RetMyRoomId {
        public room_id: (number|protobuf.Long);
    }

    enum EnumPlayerAttribute {
        MoneyGold = 1,
        MoneyDiamond = 2,
        Medal = 3,
        CommonSkinPiece = 4,
        MyFollow = 5,
        FollowMe = 6,
        Face = 7,
        Exp = 8,
        Level = 9,
        Gender = 10,
        Photo = 11,
        MainPageVoice = 12,
        GeoLocation = 13,
        HomePageMsg = 14,
        SkillGuide = 15,
        NewBeginnerStep = 16,
        NewBeginnerGameCount = 17,
        BattleTeamId = 18,
        PhotoBorderID = 19,
        GameCount = 20
    }

    interface IMSG_UpdatePlayerAttribute {
        user_id?: (number|protobuf.Long|null);
        attr_type?: (number|null);
        attr_value?: (number|protobuf.Long|null);
        attr_value_str?: (string|null);
    }

    export class MSG_UpdatePlayerAttribute implements IMSG_UpdatePlayerAttribute {
        public user_id: (number|protobuf.Long);
        public attr_type: number;
        public attr_value: (number|protobuf.Long);
        public attr_value_str: string;
    }

    interface IMSG_AddBoxData {
        box?: (IT_BoxData|null);
    }

    export class MSG_AddBoxData implements IMSG_AddBoxData {
        public box?: (IT_BoxData|null);
    }

    interface IMSG_UpdateBoxData {
        box?: (IT_BoxData|null);
    }

    export class MSG_UpdateBoxData implements IMSG_UpdateBoxData {
        public box?: (IT_BoxData|null);
    }

    interface IMSG_UnlockBox {
        box_loc?: (number|protobuf.Long|null);
    }

    export class MSG_UnlockBox implements IMSG_UnlockBox {
        public box_loc: (number|protobuf.Long);
    }

    interface IMSG_OpenBox {
        box_loc?: (number|protobuf.Long|null);
        force_open?: (boolean|null);
    }

    export class MSG_OpenBox implements IMSG_OpenBox {
        public box_loc: (number|protobuf.Long);
        public force_open: boolean;
    }

    interface IMSG_OpenBoxResponse {
        box?: (IT_BoxData|null);
        items?: (IT_ItemData[]|null);
    }

    export class MSG_OpenBoxResponse implements IMSG_OpenBoxResponse {
        public box?: (IT_BoxData|null);
        public items: IT_ItemData[];
    }

    interface IMSG_GMCommand {
        command?: (string|null);
        params?: (IT_GMCommandData[]|null);
    }

    export class MSG_GMCommand implements IMSG_GMCommand {
        public command: string;
        public params: IT_GMCommandData[];
    }

    interface IMSG_OnRegister {
    }

    export class MSG_OnRegister implements IMSG_OnRegister {
    }

    interface IMSG_ChangeNameResult {
        result?: (number|protobuf.Long|null);
    }

    export class MSG_ChangeNameResult implements IMSG_ChangeNameResult {
        public result: (number|protobuf.Long);
    }

    interface IMSG_ChangeFace {
        face?: (number|null);
    }

    export class MSG_ChangeFace implements IMSG_ChangeFace {
        public face: number;
    }

    interface IMSG_ChangeGender {
        gender?: (number|null);
    }

    export class MSG_ChangeGender implements IMSG_ChangeGender {
        public gender: number;
    }

    interface IMSG_NotifyRecentNews {
        kill_count_without_death?: (number|null);
        multi_kill?: (number|null);
        attack_id?: (number|protobuf.Long|null);
        attack_user_team?: (number|null);
        defeated_id?: (number|protobuf.Long|null);
        defeated_user_team?: (number|null);
    }

    export class MSG_NotifyRecentNews implements IMSG_NotifyRecentNews {
        public kill_count_without_death: number;
        public multi_kill: number;
        public attack_id: (number|protobuf.Long);
        public attack_user_team: number;
        public defeated_id: (number|protobuf.Long);
        public defeated_user_team: number;
    }

    interface IMSG_RequestSystemSetting {
    }

    export class MSG_RequestSystemSetting implements IMSG_RequestSystemSetting {
    }

    interface IMSG_ModifySystemSetting {
        data?: (IT_SystemSetting|null);
    }

    export class MSG_ModifySystemSetting implements IMSG_ModifySystemSetting {
        public data?: (IT_SystemSetting|null);
    }

    interface IMSG_ResponseSystemSetting {
        data?: (IT_SystemSetting|null);
    }

    export class MSG_ResponseSystemSetting implements IMSG_ResponseSystemSetting {
        public data?: (IT_SystemSetting|null);
    }

    interface IMSG_DuplicateLogin {
    }

    export class MSG_DuplicateLogin implements IMSG_DuplicateLogin {
    }

    interface IMSG_NotifyBoxes {
        boxes?: (IT_BoxData[]|null);
    }

    export class MSG_NotifyBoxes implements IMSG_NotifyBoxes {
        public boxes: IT_BoxData[];
    }

    interface IMSG_RequireStorList {
        rank_start?: (number|null);
        rank_end?: (number|null);
        flag?: (number|null);
    }

    export class MSG_RequireStorList implements IMSG_RequireStorList {
        public rank_start: number;
        public rank_end: number;
        public flag: number;
    }

    interface IMSG_SendStorList {
        datas?: (IT_StorListData[]|null);
        my_rank?: (number|protobuf.Long|null);
        flag?: (number|null);
        user_sort_data?: (IT_SocialUserData|null);
        room_video_data?: (IT_RoomVideoDatas[]|null);
    }

    export class MSG_SendStorList implements IMSG_SendStorList {
        public datas: IT_StorListData[];
        public my_rank: (number|protobuf.Long);
        public flag: number;
        public user_sort_data?: (IT_SocialUserData|null);
        public room_video_data: IT_RoomVideoDatas[];
    }

    interface IMSG_RequestOtherSocialNum {
        other_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequestOtherSocialNum implements IMSG_RequestOtherSocialNum {
        public other_id: (number|protobuf.Long);
    }

    interface IMSG_ResponseSocialNum {
        other_id?: (number|protobuf.Long|null);
        social_num?: (IT_SocialNumData|null);
        notify_type?: (number|null);
        me_give_other_love_heart?: (number|null);
        other_give_me_love_heart?: (number|null);
    }

    export class MSG_ResponseSocialNum implements IMSG_ResponseSocialNum {
        public other_id: (number|protobuf.Long);
        public social_num?: (IT_SocialNumData|null);
        public notify_type: number;
        public me_give_other_love_heart: number;
        public other_give_me_love_heart: number;
    }

    interface IMSG_RequireWatchHim {
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequireWatchHim implements IMSG_RequireWatchHim {
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_CancelWatchHim {
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_CancelWatchHim implements IMSG_CancelWatchHim {
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_SombodyWatchMe {
        user_a?: (IT_WatchUserData|null);
        user_b?: (IT_WatchUserData|null);
        type?: (number|protobuf.Long|null);
        new_follow_me_num?: (number|protobuf.Long|null);
        failed?: (number|null);
    }

    export class MSG_SombodyWatchMe implements IMSG_SombodyWatchMe {
        public user_a?: (IT_WatchUserData|null);
        public user_b?: (IT_WatchUserData|null);
        public type: (number|protobuf.Long);
        public new_follow_me_num: (number|protobuf.Long);
        public failed: number;
    }

    interface IMSG_SombodyCancelWatchMe {
        user_a?: (IT_WatchUserData|null);
        user_b?: (IT_WatchUserData|null);
        type?: (number|protobuf.Long|null);
        new_follow_me_num?: (number|protobuf.Long|null);
    }

    export class MSG_SombodyCancelWatchMe implements IMSG_SombodyCancelWatchMe {
        public user_a?: (IT_WatchUserData|null);
        public user_b?: (IT_WatchUserData|null);
        public type: (number|protobuf.Long);
        public new_follow_me_num: (number|protobuf.Long);
    }

    interface IMSG_RequireWatchList {
        page_index?: (number|protobuf.Long|null);
        page_size?: (number|protobuf.Long|null);
        require_type?: (number|protobuf.Long|null);
        sort_type?: (number|null);
        show_type?: (number|null);
        other_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequireWatchList implements IMSG_RequireWatchList {
        public page_index: (number|protobuf.Long);
        public page_size: (number|protobuf.Long);
        public require_type: (number|protobuf.Long);
        public sort_type: number;
        public show_type: number;
        public other_id: (number|protobuf.Long);
    }

    interface IMSG_ResponseWatchList {
        require?: (IMSG_RequireWatchList|null);
        total_count?: (number|protobuf.Long|null);
        datas?: (IT_WatchUserData[]|null);
        new_follow_me_num?: (number|protobuf.Long|null);
        show_type?: (number|null);
        friend_num?: (number|null);
        friend_online_num?: (number|null);
    }

    export class MSG_ResponseWatchList implements IMSG_ResponseWatchList {
        public require?: (IMSG_RequireWatchList|null);
        public total_count: (number|protobuf.Long);
        public datas: IT_WatchUserData[];
        public new_follow_me_num: (number|protobuf.Long);
        public show_type: number;
        public friend_num: number;
        public friend_online_num: number;
    }

    interface IMSG_NotifyAddRecentContact {
        user_b?: (IT_WatchUserData|null);
    }

    export class MSG_NotifyAddRecentContact implements IMSG_NotifyAddRecentContact {
        public user_b?: (IT_WatchUserData|null);
    }

    interface IMSG_NotifyRemoveRecentContact {
        user_b?: (IT_WatchUserData|null);
    }

    export class MSG_NotifyRemoveRecentContact implements IMSG_NotifyRemoveRecentContact {
        public user_b?: (IT_WatchUserData|null);
    }

    interface IMSG_RequestSocial {
        require_type?: (number|protobuf.Long|null);
    }

    export class MSG_RequestSocial implements IMSG_RequestSocial {
        public require_type: (number|protobuf.Long);
    }

    interface IMSG_SearchByName {
        name?: (string|null);
    }

    export class MSG_SearchByName implements IMSG_SearchByName {
        public name: string;
    }

    interface IMSG_SearchByNameResponse {
        return_code?: (number|protobuf.Long|null);
        datas?: (IT_StorListData|null);
    }

    export class MSG_SearchByNameResponse implements IMSG_SearchByNameResponse {
        public return_code: (number|protobuf.Long);
        public datas?: (IT_StorListData|null);
    }

    interface IMSG_RecentNews {
        news?: (IT_RecentNews|null);
    }

    export class MSG_RecentNews implements IMSG_RecentNews {
        public news?: (IT_RecentNews|null);
    }

    interface IMSG_SendFollowInfo {
        follow?: (IT_UserFollow[]|null);
    }

    export class MSG_SendFollowInfo implements IMSG_SendFollowInfo {
        public follow: IT_UserFollow[];
    }

    interface IMSG_RequestEnterIntoSkillGuide {
        guide_map_level?: (number|null);
    }

    export class MSG_RequestEnterIntoSkillGuide implements IMSG_RequestEnterIntoSkillGuide {
        public guide_map_level: number;
    }

    interface IMSG_SkipSkillGuide {
    }

    export class MSG_SkipSkillGuide implements IMSG_SkipSkillGuide {
    }

    interface IMSG_SetSkillGuide {
        step?: (number|null);
        set_type?: (number|null);
        new_beginner_game_count?: (number|null);
    }

    export class MSG_SetSkillGuide implements IMSG_SetSkillGuide {
        public step: number;
        public set_type: number;
        public new_beginner_game_count: number;
    }

    interface IMSG_SetGameCount {
        game_count?: (number|null);
    }

    export class MSG_SetGameCount implements IMSG_SetGameCount {
        public game_count: number;
    }

    interface IMSG_HaveATry {
        hero_id?: (number|null);
        skin_id?: (number|null);
    }

    export class MSG_HaveATry implements IMSG_HaveATry {
        public hero_id: number;
        public skin_id: number;
    }

    interface IMSG_QuickStartGame {
        match_type?: (number|protobuf.Long|null);
        room_kind?: (number|protobuf.Long|null);
    }

    export class MSG_QuickStartGame implements IMSG_QuickStartGame {
        public match_type: (number|protobuf.Long);
        public room_kind: (number|protobuf.Long);
    }

    interface IMSG_RestartQuickGame {
        match_type?: (number|protobuf.Long|null);
        room_kind?: (number|protobuf.Long|null);
    }

    export class MSG_RestartQuickGame implements IMSG_RestartQuickGame {
        public match_type: (number|protobuf.Long);
        public room_kind: (number|protobuf.Long);
    }

    interface IMSG_RequestUserFollowList {
    }

    export class MSG_RequestUserFollowList implements IMSG_RequestUserFollowList {
    }

    interface IMSG_ResponseUserFollowList {
        user_id?: (number|protobuf.Long|null);
        user_data?: (IT_BaseUserData[]|null);
    }

    export class MSG_ResponseUserFollowList implements IMSG_ResponseUserFollowList {
        public user_id: (number|protobuf.Long);
        public user_data: IT_BaseUserData[];
    }

    interface IMSG_SetClearOtherNickName {
        other_id?: (number|protobuf.Long|null);
        nick_name?: (string|null);
        request_type?: (number|null);
    }

    export class MSG_SetClearOtherNickName implements IMSG_SetClearOtherNickName {
        public other_id: (number|protobuf.Long);
        public nick_name: string;
        public request_type: number;
    }

    interface IMSG_ClearNewFans {
    }

    export class MSG_ClearNewFans implements IMSG_ClearNewFans {
    }

    interface IMSG_RequestRecordBug {
        record_str?: (string|null);
    }

    export class MSG_RequestRecordBug implements IMSG_RequestRecordBug {
        public record_str: string;
    }

    interface IMSG_PrepareTeam {
        match_type?: (number|null);
        one_more_game?: (boolean|null);
    }

    export class MSG_PrepareTeam implements IMSG_PrepareTeam {
        public match_type: number;
        public one_more_game: boolean;
    }

    interface IMSG_ResponsePrepareTeam {
        firend?: (IT_JoinTeamUserData[]|null);
        social_type?: (number|protobuf.Long|null);
    }

    export class MSG_ResponsePrepareTeam implements IMSG_ResponsePrepareTeam {
        public firend: IT_JoinTeamUserData[];
        public social_type: (number|protobuf.Long);
    }

    interface IMSG_PrepareTeamData {
        members?: (IT_JoinTeamUserData[]|null);
        leader?: (number|protobuf.Long|null);
        team_size?: (number|protobuf.Long|null);
        match_type?: (number|null);
        extra_data?: (number|null);
    }

    export class MSG_PrepareTeamData implements IMSG_PrepareTeamData {
        public members: IT_JoinTeamUserData[];
        public leader: (number|protobuf.Long);
        public team_size: (number|protobuf.Long);
        public match_type: number;
        public extra_data: number;
    }

    interface IMSG_AskJoinTeam {
        user_id?: (number|protobuf.Long|null);
        type?: (number|protobuf.Long|null);
    }

    export class MSG_AskJoinTeam implements IMSG_AskJoinTeam {
        public user_id: (number|protobuf.Long);
        public type: (number|protobuf.Long);
    }

    interface IMSG_AnswerJoinTeam {
        user_id?: (number|protobuf.Long|null);
        response?: (boolean|null);
        type?: (number|protobuf.Long|null);
        response_text?: (string|null);
    }

    export class MSG_AnswerJoinTeam implements IMSG_AnswerJoinTeam {
        public user_id: (number|protobuf.Long);
        public response: boolean;
        public type: (number|protobuf.Long);
        public response_text: string;
    }

    interface IMSG_AskJoinTeamRequest {
        user?: (IT_JoinTeamUserData|null);
        type?: (number|protobuf.Long|null);
        match_type?: (number|null);
    }

    export class MSG_AskJoinTeamRequest implements IMSG_AskJoinTeamRequest {
        public user?: (IT_JoinTeamUserData|null);
        public type: (number|protobuf.Long);
        public match_type: number;
    }

    interface IMSG_AskJoinTeamResponse {
        response?: (boolean|null);
        ask_id?: (number|protobuf.Long|null);
        type?: (number|protobuf.Long|null);
        extra_data?: (number|null);
        ask_name?: (string|null);
        response_text?: (string|null);
        no_invite_in_five_m?: (boolean|null);
    }

    export class MSG_AskJoinTeamResponse implements IMSG_AskJoinTeamResponse {
        public response: boolean;
        public ask_id: (number|protobuf.Long);
        public type: (number|protobuf.Long);
        public extra_data: number;
        public ask_name: string;
        public response_text: string;
        public no_invite_in_five_m: boolean;
    }

    interface IMSG_LeavelTeamRequest {
    }

    export class MSG_LeavelTeamRequest implements IMSG_LeavelTeamRequest {
    }

    interface IMSG_LeavelTeamResponse {
        kick?: (boolean|null);
    }

    export class MSG_LeavelTeamResponse implements IMSG_LeavelTeamResponse {
        public kick: boolean;
    }

    interface IMSG_RequireTeamMatchRoom {
        match_type?: (number|null);
        extra_data?: (number|null);
    }

    export class MSG_RequireTeamMatchRoom implements IMSG_RequireTeamMatchRoom {
        public match_type: number;
        public extra_data: number;
    }

    interface IMSG_UpdateUserState {
        user_id?: (number|protobuf.Long|null);
        state?: (number|protobuf.Long|null);
        notify_type?: (number|null);
        online?: (boolean|null);
    }

    export class MSG_UpdateUserState implements IMSG_UpdateUserState {
        public user_id: (number|protobuf.Long);
        public state: (number|protobuf.Long);
        public notify_type: number;
        public online: boolean;
    }

    interface IMSG_RejectOneUser {
        other_id?: (number|protobuf.Long|null);
    }

    export class MSG_RejectOneUser implements IMSG_RejectOneUser {
        public other_id: (number|protobuf.Long);
    }

    interface IMSG_ChangeCurrentReadyState {
    }

    export class MSG_ChangeCurrentReadyState implements IMSG_ChangeCurrentReadyState {
    }

    interface IMSG_EnterGameDirectly {
    }

    export class MSG_EnterGameDirectly implements IMSG_EnterGameDirectly {
    }

    interface IMSG_OneVsOneResponse {
        user_name?: (string|null);
        return_code?: (number|null);
        ask_type?: (number|null);
    }

    export class MSG_OneVsOneResponse implements IMSG_OneVsOneResponse {
        public user_name: string;
        public return_code: number;
        public ask_type: number;
    }

    interface IMSG_SendDoubleConfirmUser {
        double_confirm_time?: (number|null);
        data?: (IT_ExpandBaseUserData[]|null);
        cur_time?: (number|protobuf.Long|null);
        client_match_type?: (number|null);
    }

    export class MSG_SendDoubleConfirmUser implements IMSG_SendDoubleConfirmUser {
        public double_confirm_time: number;
        public data: IT_ExpandBaseUserData[];
        public cur_time: (number|protobuf.Long);
        public client_match_type: number;
    }

    interface IMSG_DoubleConfirm {
    }

    export class MSG_DoubleConfirm implements IMSG_DoubleConfirm {
    }

    interface IMSG_AfterDoubleConfirm {
        user_id?: (number|protobuf.Long|null);
        confirm?: (boolean|null);
    }

    export class MSG_AfterDoubleConfirm implements IMSG_AfterDoubleConfirm {
        public user_id: (number|protobuf.Long);
        public confirm: boolean;
    }

    interface IMSG_DoubleConfirmNum {
        num?: (number|null);
    }

    export class MSG_DoubleConfirmNum implements IMSG_DoubleConfirmNum {
        public num: number;
    }

    interface IMSG_NotDoubleConfirm {
        is_double_confirm?: (boolean|null);
    }

    export class MSG_NotDoubleConfirm implements IMSG_NotDoubleConfirm {
        public is_double_confirm: boolean;
    }

    interface IMSG_AskJoinTeamFailed {
        user_name?: (string|null);
        invited_name?: (string|null);
    }

    export class MSG_AskJoinTeamFailed implements IMSG_AskJoinTeamFailed {
        public user_name: string;
        public invited_name: string;
    }

    interface IMSG_ChangeHumanVsRobotMatchType {
        match_type?: (number|null);
    }

    export class MSG_ChangeHumanVsRobotMatchType implements IMSG_ChangeHumanVsRobotMatchType {
        public match_type: number;
    }

    interface IMSG_ChangeTeamPosition {
        des_pos?: (number|null);
    }

    export class MSG_ChangeTeamPosition implements IMSG_ChangeTeamPosition {
        public des_pos: number;
    }

    interface IMSG_AddOneRobot {
        up_down?: (number|null);
    }

    export class MSG_AddOneRobot implements IMSG_AddOneRobot {
        public up_down: number;
    }

    interface IMSG_ReturnToMainFramework {
    }

    export class MSG_ReturnToMainFramework implements IMSG_ReturnToMainFramework {
    }

    interface IMSG_NotifyEnableMatchTime {
        data?: (IT_EnableMatchTime[]|null);
    }

    export class MSG_NotifyEnableMatchTime implements IMSG_NotifyEnableMatchTime {
        public data: IT_EnableMatchTime[];
    }

    interface IMSG_RequestEntertainmentMatchType {
    }

    export class MSG_RequestEntertainmentMatchType implements IMSG_RequestEntertainmentMatchType {
    }

    interface IMSG_ResponseEntertainmentMatchType {
        entertain_match_type?: (number|null);
    }

    export class MSG_ResponseEntertainmentMatchType implements IMSG_ResponseEntertainmentMatchType {
        public entertain_match_type: number;
    }

    interface IMSG_SendHeroData {
        heros?: (IT_HeroData[]|null);
    }

    export class MSG_SendHeroData implements IMSG_SendHeroData {
        public heros: IT_HeroData[];
    }

    interface IMSG_SendHeroBoostData {
        data?: (IT_BoostHeroData|null);
    }

    export class MSG_SendHeroBoostData implements IMSG_SendHeroBoostData {
        public data?: (IT_BoostHeroData|null);
    }

    interface IMSG_RequireBoostHero {
        times?: (number|protobuf.Long|null);
        kind?: (number|protobuf.Long|null);
    }

    export class MSG_RequireBoostHero implements IMSG_RequireBoostHero {
        public times: (number|protobuf.Long);
        public kind: (number|protobuf.Long);
    }

    interface IMSG_ReplyBoostHero {
        kind?: (number|protobuf.Long|null);
        data?: (IT_BoostHeroData|null);
        success?: (boolean|null);
    }

    export class MSG_ReplyBoostHero implements IMSG_ReplyBoostHero {
        public kind: (number|protobuf.Long);
        public data?: (IT_BoostHeroData|null);
        public success: boolean;
    }

    interface IMSG_RequireUpgradeHero {
        times?: (number|protobuf.Long|null);
        hero_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequireUpgradeHero implements IMSG_RequireUpgradeHero {
        public times: (number|protobuf.Long);
        public hero_id: (number|protobuf.Long);
    }

    interface IMSG_ReplyUpgradeHero {
        hero_id?: (number|protobuf.Long|null);
        upgrade?: (number|protobuf.Long|null);
    }

    export class MSG_ReplyUpgradeHero implements IMSG_ReplyUpgradeHero {
        public hero_id: (number|protobuf.Long);
        public upgrade: (number|protobuf.Long);
    }

    interface IMSG_RequestItemComposition {
        dst_id?: (number|protobuf.Long|null);
        composition_kind?: (number|protobuf.Long|null);
        dst_num?: (number|protobuf.Long|null);
    }

    export class MSG_RequestItemComposition implements IMSG_RequestItemComposition {
        public dst_id: (number|protobuf.Long);
        public composition_kind: (number|protobuf.Long);
        public dst_num: (number|protobuf.Long);
    }

    interface IMSG_ReplyItemComposition {
        src_id?: (number|protobuf.Long|null);
        src_num?: (number|protobuf.Long|null);
        composition_kind?: (number|protobuf.Long|null);
        dst_num?: (number|protobuf.Long|null);
        dst_id?: (number|protobuf.Long|null);
    }

    export class MSG_ReplyItemComposition implements IMSG_ReplyItemComposition {
        public src_id: (number|protobuf.Long);
        public src_num: (number|protobuf.Long);
        public composition_kind: (number|protobuf.Long);
        public dst_num: (number|protobuf.Long);
        public dst_id: (number|protobuf.Long);
    }

    interface IMSG_BeginWaitingGame {
        users?: (IT_WaitingUserData[]|null);
        start_game_time?: (number|protobuf.Long|null);
        room_kind?: (number|null);
        hero_free_match?: (boolean|null);
        hero_free_min_level?: (number|null);
        hero_unique?: (boolean|null);
        server_match_type?: (number|null);
        map_name?: (string|null);
    }

    export class MSG_BeginWaitingGame implements IMSG_BeginWaitingGame {
        public users: IT_WaitingUserData[];
        public start_game_time: (number|protobuf.Long);
        public room_kind: number;
        public hero_free_match: boolean;
        public hero_free_min_level: number;
        public hero_unique: boolean;
        public server_match_type: number;
        public map_name: string;
    }

    interface IMSG_ReadyWaiting {
        ready?: (boolean|null);
    }

    export class MSG_ReadyWaiting implements IMSG_ReadyWaiting {
        public ready: boolean;
    }

    interface IMSG_NotifyReadyWaiting {
        user_id?: (number|protobuf.Long|null);
        ready?: (boolean|null);
    }

    export class MSG_NotifyReadyWaiting implements IMSG_NotifyReadyWaiting {
        public user_id: (number|protobuf.Long);
        public ready: boolean;
    }

    interface IMSG_SelectHero {
        hero_id?: (number|protobuf.Long|null);
        skin_id?: (number|protobuf.Long|null);
    }

    export class MSG_SelectHero implements IMSG_SelectHero {
        public hero_id: (number|protobuf.Long);
        public skin_id: (number|protobuf.Long);
    }

    interface IMSG_SelectHeroSkin {
        hero_id?: (number|protobuf.Long|null);
        skin_id?: (number|protobuf.Long|null);
    }

    export class MSG_SelectHeroSkin implements IMSG_SelectHeroSkin {
        public hero_id: (number|protobuf.Long);
        public skin_id: (number|protobuf.Long);
    }

    interface IMSG_SetHeroCurrentSkin {
        hero_id?: (number|protobuf.Long|null);
        skin_id?: (number|protobuf.Long|null);
    }

    export class MSG_SetHeroCurrentSkin implements IMSG_SetHeroCurrentSkin {
        public hero_id: (number|protobuf.Long);
        public skin_id: (number|protobuf.Long);
    }

    interface IMSG_NotifySelectHero {
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        hero?: (IT_HeroData|null);
    }

    export class MSG_NotifySelectHero implements IMSG_NotifySelectHero {
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public hero?: (IT_HeroData|null);
    }

    interface IMSG_FinishWaitingGame {
    }

    export class MSG_FinishWaitingGame implements IMSG_FinishWaitingGame {
    }

    interface IMSG_SendGradeData {
        user_id?: (number|protobuf.Long|null);
        data?: (IT_GradeData|null);
    }

    export class MSG_SendGradeData implements IMSG_SendGradeData {
        public user_id: (number|protobuf.Long);
        public data?: (IT_GradeData|null);
    }

    interface IMSG_BuyHero {
        hero_id?: (number|protobuf.Long|null);
        buy_type?: (number|protobuf.Long|null);
        shop?: (boolean|null);
    }

    export class MSG_BuyHero implements IMSG_BuyHero {
        public hero_id: (number|protobuf.Long);
        public buy_type: (number|protobuf.Long);
        public shop: boolean;
    }

    interface IMSG_SendHeroActive {
        hero?: (IT_HeroData|null);
        active?: (boolean|null);
        skin_id?: (number|protobuf.Long|null);
        skin_obj_id?: (number|protobuf.Long|null);
    }

    export class MSG_SendHeroActive implements IMSG_SendHeroActive {
        public hero?: (IT_HeroData|null);
        public active: boolean;
        public skin_id: (number|protobuf.Long);
        public skin_obj_id: (number|protobuf.Long);
    }

    interface IMSG_BuyHeroSkin {
        hero_id?: (number|protobuf.Long|null);
        skin_id?: (number|protobuf.Long|null);
        buy_type?: (number|null);
        shop?: (boolean|null);
    }

    export class MSG_BuyHeroSkin implements IMSG_BuyHeroSkin {
        public hero_id: (number|protobuf.Long);
        public skin_id: (number|protobuf.Long);
        public buy_type: number;
        public shop: boolean;
    }

    interface IMSG_SendItems {
        item?: (IT_ItemData[]|null);
    }

    export class MSG_SendItems implements IMSG_SendItems {
        public item: IT_ItemData[];
    }

    interface IMSG_SendOneItem {
        item?: (IT_ItemData|null);
    }

    export class MSG_SendOneItem implements IMSG_SendOneItem {
        public item?: (IT_ItemData|null);
    }

    interface IMSG_AddItemOverflowToAnother {
        item_id?: (number|protobuf.Long|null);
        item_num?: (number|protobuf.Long|null);
        another_item_id?: (number|protobuf.Long|null);
        another_item_num?: (number|protobuf.Long|null);
    }

    export class MSG_AddItemOverflowToAnother implements IMSG_AddItemOverflowToAnother {
        public item_id: (number|protobuf.Long);
        public item_num: (number|protobuf.Long);
        public another_item_id: (number|protobuf.Long);
        public another_item_num: (number|protobuf.Long);
    }

    interface IMSG_RequestHeroFree {
    }

    export class MSG_RequestHeroFree implements IMSG_RequestHeroFree {
    }

    interface IMSG_ReponseHeroFree {
        hero?: (IT_HeroData[]|null);
        hero_free_min_level?: (number|null);
        guide_hero?: (IT_HeroData[]|null);
        new_beginner_guide?: (boolean|null);
    }

    export class MSG_ReponseHeroFree implements IMSG_ReponseHeroFree {
        public hero: IT_HeroData[];
        public hero_free_min_level: number;
        public guide_hero: IT_HeroData[];
        public new_beginner_guide: boolean;
    }

    interface IMSG_SelectHeroFailed {
    }

    export class MSG_SelectHeroFailed implements IMSG_SelectHeroFailed {
    }

    interface IMSG_LogUserLog {
        step_type?: (number|null);
        step_id?: (number|null);
        step_name?: (string|null);
        activate?: (number|null);
    }

    export class MSG_LogUserLog implements IMSG_LogUserLog {
        public step_type: number;
        public step_id: number;
        public step_name: string;
        public activate: number;
    }

    interface IMSG_ViewJoinGame {
        view_uid?: (number|protobuf.Long|null);
        view_gameid?: (number|protobuf.Long|null);
    }

    export class MSG_ViewJoinGame implements IMSG_ViewJoinGame {
        public view_uid: (number|protobuf.Long);
        public view_gameid: (number|protobuf.Long);
    }

    interface IMSG_ViewJoinGameRet {
        view?: (IMSG_ViewJoinGame|null);
        ok?: (boolean|null);
        msg?: (string|null);
    }

    export class MSG_ViewJoinGameRet implements IMSG_ViewJoinGameRet {
        public view?: (IMSG_ViewJoinGame|null);
        public ok: boolean;
        public msg: string;
    }

    interface IMSG_RequestHeroSkinInfo {
    }

    export class MSG_RequestHeroSkinInfo implements IMSG_RequestHeroSkinInfo {
    }

    interface IMSG_ResponseHeroSkinInfo {
        data?: (IT_HeroData[]|null);
    }

    export class MSG_ResponseHeroSkinInfo implements IMSG_ResponseHeroSkinInfo {
        public data: IT_HeroData[];
    }

    interface IMSG_NotifyAddExp {
        add_exp?: (number|protobuf.Long|null);
        total_exp?: (number|protobuf.Long|null);
    }

    export class MSG_NotifyAddExp implements IMSG_NotifyAddExp {
        public add_exp: (number|protobuf.Long);
        public total_exp: (number|protobuf.Long);
    }

    interface IMSG_NotifyLevelUp {
        old_level?: (number|null);
        new_level?: (number|null);
    }

    export class MSG_NotifyLevelUp implements IMSG_NotifyLevelUp {
        public old_level: number;
        public new_level: number;
    }

    interface IMSG_RequestUserFramData {
        first_index?: (number|null);
        second_index?: (number|null);
        extra_data?: (number|null);
        other_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequestUserFramData implements IMSG_RequestUserFramData {
        public first_index: number;
        public second_index: number;
        public extra_data: number;
        public other_id: (number|protobuf.Long);
    }

    interface IMSG_ResponseUserBattleData {
        normal_matches?: (IT_UserBattleData|null);
        not_show_battle_data?: (boolean|null);
        battle_data_type?: (number|null);
        game_datas?: (IT_GameData[]|null);
        grade?: (IT_GradeData|null);
        heros?: (IT_UserHeroData|null);
        game_count?: (number|null);
        be_praise_num?: (number|null);
        hero_use_data?: (IT_HeroUseDatas|null);
        soc_pro_data?: (IT_SocialProfileData|null);
        not_move_round?: (number|null);
    }

    export class MSG_ResponseUserBattleData implements IMSG_ResponseUserBattleData {
        public normal_matches?: (IT_UserBattleData|null);
        public not_show_battle_data: boolean;
        public battle_data_type: number;
        public game_datas: IT_GameData[];
        public grade?: (IT_GradeData|null);
        public heros?: (IT_UserHeroData|null);
        public game_count: number;
        public be_praise_num: number;
        public hero_use_data?: (IT_HeroUseDatas|null);
        public soc_pro_data?: (IT_SocialProfileData|null);
        public not_move_round: number;
    }

    interface IMSG_MainPage {
        exp?: (number|protobuf.Long|null);
        grade?: (IT_GradeData|null);
        history_grade?: (IT_GradeData|null);
        my_follow_num?: (number|protobuf.Long|null);
        follow_me_num?: (number|protobuf.Long|null);
        base_data?: (IT_BaseUserData|null);
        home_page_data?: (IT_HomePageData|null);
        soc_pro_data?: (IT_SocialProfileData|null);
        friend?: (boolean|null);
        social_num_data?: (IT_SocialNumData|null);
        achieve_data?: (IT_HomepageAchievementData[]|null);
        me_give_other_love_heart?: (number|null);
        other_give_me_love_heart?: (number|null);
    }

    export class MSG_MainPage implements IMSG_MainPage {
        public exp: (number|protobuf.Long);
        public grade?: (IT_GradeData|null);
        public history_grade?: (IT_GradeData|null);
        public my_follow_num: (number|protobuf.Long);
        public follow_me_num: (number|protobuf.Long);
        public base_data?: (IT_BaseUserData|null);
        public home_page_data?: (IT_HomePageData|null);
        public soc_pro_data?: (IT_SocialProfileData|null);
        public friend: boolean;
        public social_num_data?: (IT_SocialNumData|null);
        public achieve_data: IT_HomepageAchievementData[];
        public me_give_other_love_heart: number;
        public other_give_me_love_heart: number;
    }

    interface IMSG_RequestRoomBattleData {
        unique_id?: (number|protobuf.Long|null);
        battle_data_type?: (number|null);
    }

    export class MSG_RequestRoomBattleData implements IMSG_RequestRoomBattleData {
        public unique_id: (number|protobuf.Long);
        public battle_data_type: number;
    }

    interface IMSG_ReceiveChatMessage {
        chat_type?: (number|null);
        data?: (IT_ChatMessageData|null);
    }

    export class MSG_ReceiveChatMessage implements IMSG_ReceiveChatMessage {
        public chat_type: number;
        public data?: (IT_ChatMessageData|null);
    }

    interface IMSG_PushChatMessage {
        data?: (IT_ChatMessageData|null);
        user_a?: (IT_ChatUserData|null);
        user_b?: (IT_ChatUserData|null);
        chat_type?: (number|null);
    }

    export class MSG_PushChatMessage implements IMSG_PushChatMessage {
        public data?: (IT_ChatMessageData|null);
        public user_a?: (IT_ChatUserData|null);
        public user_b?: (IT_ChatUserData|null);
        public chat_type: number;
    }

    interface IMSG_RequestOpenMailBox {
    }

    export class MSG_RequestOpenMailBox implements IMSG_RequestOpenMailBox {
    }

    interface IMSG_NotifyOpenMailBox {
        open?: (boolean|null);
    }

    export class MSG_NotifyOpenMailBox implements IMSG_NotifyOpenMailBox {
        public open: boolean;
    }

    interface IMSG_PushMailNum {
        num?: (number|null);
    }

    export class MSG_PushMailNum implements IMSG_PushMailNum {
        public num: number;
    }

    interface IMSG_RequestMailList {
        page_index?: (number|protobuf.Long|null);
        page_size?: (number|protobuf.Long|null);
        mail_type?: (number|null);
    }

    export class MSG_RequestMailList implements IMSG_RequestMailList {
        public page_index: (number|protobuf.Long);
        public page_size: (number|protobuf.Long);
        public mail_type: number;
    }

    interface IMSG_ResponseMailList {
        require?: (IMSG_RequestMailList|null);
        total_count?: (number|protobuf.Long|null);
        mails?: (IT_UserMaiItemDatas|null);
    }

    export class MSG_ResponseMailList implements IMSG_ResponseMailList {
        public require?: (IMSG_RequestMailList|null);
        public total_count: (number|protobuf.Long);
        public mails?: (IT_UserMaiItemDatas|null);
    }

    interface IMSG_PickUpTheMail {
        mail_id?: (number|protobuf.Long|null);
        mail_type?: (number|null);
    }

    export class MSG_PickUpTheMail implements IMSG_PickUpTheMail {
        public mail_id: (number|protobuf.Long);
        public mail_type: number;
    }

    interface IMSG_DeleteTheMail {
        del?: (IMSG_PickUpTheMail|null);
    }

    export class MSG_DeleteTheMail implements IMSG_DeleteTheMail {
        public del?: (IMSG_PickUpTheMail|null);
    }

    interface IMSG_ResponsePickUpTheMail {
        request?: (IMSG_PickUpTheMail|null);
        result?: (boolean|null);
    }

    export class MSG_ResponsePickUpTheMail implements IMSG_ResponsePickUpTheMail {
        public request?: (IMSG_PickUpTheMail|null);
        public result: boolean;
    }

    interface IMSG_AfterObtainMail {
        flag?: (boolean|null);
        items?: (IT_ItemData[]|null);
    }

    export class MSG_AfterObtainMail implements IMSG_AfterObtainMail {
        public flag: boolean;
        public items: IT_ItemData[];
    }

    interface IMSG_ReadTheMail {
        mail_id?: (number|protobuf.Long|null);
    }

    export class MSG_ReadTheMail implements IMSG_ReadTheMail {
        public mail_id: (number|protobuf.Long);
    }

    interface IMSG_RequestToken {
        request_type?: (number|null);
    }

    export class MSG_RequestToken implements IMSG_RequestToken {
        public request_type: number;
    }

    interface IMSG_ResponseToken {
        token?: (string|null);
        cur_photo_num?: (number|null);
        max_photo_num?: (number|null);
    }

    export class MSG_ResponseToken implements IMSG_ResponseToken {
        public token: string;
        public cur_photo_num: number;
        public max_photo_num: number;
    }

    interface IMSG_SetupPhotoSuccess {
        key?: (string|null);
        request_type?: (number|null);
    }

    export class MSG_SetupPhotoSuccess implements IMSG_SetupPhotoSuccess {
        public key: string;
        public request_type: number;
    }

    interface IMSG_RequestPhotoList {
        request_type?: (number|null);
        other_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequestPhotoList implements IMSG_RequestPhotoList {
        public request_type: number;
        public other_id: (number|protobuf.Long);
    }

    interface IMSG_ResponsePhotoList {
        photos?: (IT_PhotoData[]|null);
        photo_datas?: (IT_PhotoPraiseDatas|null);
    }

    export class MSG_ResponsePhotoList implements IMSG_ResponsePhotoList {
        public photos: IT_PhotoData[];
        public photo_datas?: (IT_PhotoPraiseDatas|null);
    }

    interface IMSG_SetUserFace {
        photo_name?: (string|null);
    }

    export class MSG_SetUserFace implements IMSG_SetUserFace {
        public photo_name: string;
    }

    interface IMSG_DeletePhoto {
        photo_name?: (string|null);
    }

    export class MSG_DeletePhoto implements IMSG_DeletePhoto {
        public photo_name: string;
    }

    interface IMSG_UserFeedback {
        data?: (IT_FeedbackData|null);
    }

    export class MSG_UserFeedback implements IMSG_UserFeedback {
        public data?: (IT_FeedbackData|null);
    }

    interface IMSG_ResponseFeedback {
    }

    export class MSG_ResponseFeedback implements IMSG_ResponseFeedback {
    }

    interface IMSG_RequireKefuURL {
    }

    export class MSG_RequireKefuURL implements IMSG_RequireKefuURL {
    }

    interface IMSG_ReplyKefuURL {
        url?: (string|null);
    }

    export class MSG_ReplyKefuURL implements IMSG_ReplyKefuURL {
        public url: string;
    }

    interface IMSG_NotifyAchievement {
        event_id?: (number|protobuf.Long|null);
    }

    export class MSG_NotifyAchievement implements IMSG_NotifyAchievement {
        public event_id: (number|protobuf.Long);
    }

    interface IMSG_RequestUserAchievement {
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequestUserAchievement implements IMSG_RequestUserAchievement {
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_ResponseUserAchievement {
        user_id?: (number|protobuf.Long|null);
        data?: (IT_AllAchievementData|null);
        datas?: (IT_AllAchieveEventDatas|null);
        old?: (boolean|null);
    }

    export class MSG_ResponseUserAchievement implements IMSG_ResponseUserAchievement {
        public user_id: (number|protobuf.Long);
        public data?: (IT_AllAchievementData|null);
        public datas?: (IT_AllAchieveEventDatas|null);
        public old: boolean;
    }

    interface IMSG_ObtainAward {
        event_id?: (number|protobuf.Long|null);
        event_ids?: ((number|protobuf.Long)[]|null);
    }

    export class MSG_ObtainAward implements IMSG_ObtainAward {
        public event_id: (number|protobuf.Long);
        public event_ids: (number|protobuf.Long)[];
    }

    interface IMSG_ObtainedAwardSuccess {
        event_id?: (number|protobuf.Long|null);
        item?: (IT_ItemData|null);
        datas?: (IT_EventItemData[]|null);
    }

    export class MSG_ObtainedAwardSuccess implements IMSG_ObtainedAwardSuccess {
        public event_id: (number|protobuf.Long);
        public item?: (IT_ItemData|null);
        public datas: IT_EventItemData[];
    }

    interface IMSG_RequestNotifyAchievementFilled {
    }

    export class MSG_RequestNotifyAchievementFilled implements IMSG_RequestNotifyAchievementFilled {
    }

    interface IMSG_NotifyAchievementFilled {
    }

    export class MSG_NotifyAchievementFilled implements IMSG_NotifyAchievementFilled {
    }

    interface IMSG_UpdateSealData {
        data?: (IT_SealData|null);
        type?: (number|null);
    }

    export class MSG_UpdateSealData implements IMSG_UpdateSealData {
        public data?: (IT_SealData|null);
        public type: number;
    }

    interface IMSG_UpdateSealPage {
        page?: (IT_SealPage|null);
    }

    export class MSG_UpdateSealPage implements IMSG_UpdateSealPage {
        public page?: (IT_SealPage|null);
    }

    interface IMSG_UpdateSealPack {
        pack?: (IT_SealPack|null);
    }

    export class MSG_UpdateSealPack implements IMSG_UpdateSealPack {
        public pack?: (IT_SealPack|null);
    }

    interface IMSG_SealLevelup {
        seal_id?: (number|protobuf.Long|null);
        levelup_count?: (number|protobuf.Long|null);
    }

    export class MSG_SealLevelup implements IMSG_SealLevelup {
        public seal_id: (number|protobuf.Long);
        public levelup_count: (number|protobuf.Long);
    }

    interface IMSG_SealActive {
        seal_id?: (number|protobuf.Long|null);
        page_id?: (number|protobuf.Long|null);
        slot_id?: (number|protobuf.Long|null);
        active?: (boolean|null);
    }

    export class MSG_SealActive implements IMSG_SealActive {
        public seal_id: (number|protobuf.Long);
        public page_id: (number|protobuf.Long);
        public slot_id: (number|protobuf.Long);
        public active: boolean;
    }

    interface IMSG_SealPageActive {
        page_id?: (number|protobuf.Long|null);
        hero_id?: (number|protobuf.Long|null);
    }

    export class MSG_SealPageActive implements IMSG_SealPageActive {
        public page_id: (number|protobuf.Long);
        public hero_id: (number|protobuf.Long);
    }

    interface IMSG_SealPageActiveTmp {
        page_id?: (number|protobuf.Long|null);
    }

    export class MSG_SealPageActiveTmp implements IMSG_SealPageActiveTmp {
        public page_id: (number|protobuf.Long);
    }

    interface IMSG_SetSealPageName {
        page_id?: (number|protobuf.Long|null);
        page_name?: (string|null);
    }

    export class MSG_SetSealPageName implements IMSG_SetSealPageName {
        public page_id: (number|protobuf.Long);
        public page_name: string;
    }

    interface IMSG_SealOverflowToGold {
        seal_id?: (number|protobuf.Long|null);
        seal_num?: (number|protobuf.Long|null);
        gold?: (number|protobuf.Long|null);
    }

    export class MSG_SealOverflowToGold implements IMSG_SealOverflowToGold {
        public seal_id: (number|protobuf.Long);
        public seal_num: (number|protobuf.Long);
        public gold: (number|protobuf.Long);
    }

    interface IMSG_LevelUpSealSuccess {
        data?: (IT_SealData|null);
    }

    export class MSG_LevelUpSealSuccess implements IMSG_LevelUpSealSuccess {
        public data?: (IT_SealData|null);
    }

    interface IMSG_BuildSeal {
        seal_id?: (number|protobuf.Long|null);
        seal_num?: (number|protobuf.Long|null);
    }

    export class MSG_BuildSeal implements IMSG_BuildSeal {
        public seal_id: (number|protobuf.Long);
        public seal_num: (number|protobuf.Long);
    }

    interface IMSG_UpdateSealNum {
        piece_num?: (number|protobuf.Long|null);
    }

    export class MSG_UpdateSealNum implements IMSG_UpdateSealNum {
        public piece_num: (number|protobuf.Long);
    }

    interface IMSG_BuyOpenSlot {
    }

    export class MSG_BuyOpenSlot implements IMSG_BuyOpenSlot {
    }

    interface IMSG_UpdateOpenSlot {
        open_slot?: (number|protobuf.Long|null);
    }

    export class MSG_UpdateOpenSlot implements IMSG_UpdateOpenSlot {
        public open_slot: (number|protobuf.Long);
    }

    interface IMSG_BuyOpenPage {
    }

    export class MSG_BuyOpenPage implements IMSG_BuyOpenPage {
    }

    interface IMSG_UpdateOpenPage {
        new_page?: (IT_SealPage|null);
    }

    export class MSG_UpdateOpenPage implements IMSG_UpdateOpenPage {
        public new_page?: (IT_SealPage|null);
    }

    interface IMSG_OpenCertainSeal {
        seal_id?: (number|protobuf.Long|null);
    }

    export class MSG_OpenCertainSeal implements IMSG_OpenCertainSeal {
        public seal_id: (number|protobuf.Long);
    }

    interface IMSG_UpdateTujianExp {
        tujian_level?: (number|protobuf.Long|null);
        tujian_exp?: (number|protobuf.Long|null);
    }

    export class MSG_UpdateTujianExp implements IMSG_UpdateTujianExp {
        public tujian_level: (number|protobuf.Long);
        public tujian_exp: (number|protobuf.Long);
    }

    interface IMSG_RequestBoxInfo {
    }

    export class MSG_RequestBoxInfo implements IMSG_RequestBoxInfo {
    }

    interface IMSG_NotifyBoxInfo {
        data?: (IT_UserBoxs|null);
    }

    export class MSG_NotifyBoxInfo implements IMSG_NotifyBoxInfo {
        public data?: (IT_UserBoxs|null);
    }

    interface IMSG_ObtainOneBox {
        box_type?: (number|null);
    }

    export class MSG_ObtainOneBox implements IMSG_ObtainOneBox {
        public box_type: number;
    }

    interface IMSG_AddFreeBox {
    }

    export class MSG_AddFreeBox implements IMSG_AddFreeBox {
    }

    interface IMSG_RequestNotifyBoxFilled {
    }

    export class MSG_RequestNotifyBoxFilled implements IMSG_RequestNotifyBoxFilled {
    }

    interface IMSG_NotifyBoxFilled {
    }

    export class MSG_NotifyBoxFilled implements IMSG_NotifyBoxFilled {
    }

    interface IMSG_LevelUpGetBox {
        box_id?: (number|protobuf.Long|null);
    }

    export class MSG_LevelUpGetBox implements IMSG_LevelUpGetBox {
        public box_id: (number|protobuf.Long);
    }

    interface IMSG_RequestSevenDayLoginAwards {
        other_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequestSevenDayLoginAwards implements IMSG_RequestSevenDayLoginAwards {
        public other_id: (number|protobuf.Long);
    }

    interface IMSG_ResponseSevenDayLoginAwards {
        data?: (IT_SevenDayLoginAwards|null);
        cur_day?: (number|null);
    }

    export class MSG_ResponseSevenDayLoginAwards implements IMSG_ResponseSevenDayLoginAwards {
        public data?: (IT_SevenDayLoginAwards|null);
        public cur_day: number;
    }

    interface IMSG_ObtainSevenDaysAward {
        day?: (number|null);
    }

    export class MSG_ObtainSevenDaysAward implements IMSG_ObtainSevenDaysAward {
        public day: number;
    }

    interface IMSG_ObtainItems {
        datas?: (IT_ItemData[]|null);
        reason?: (number|null);
        box?: (IT_BoxData|null);
        show_display_type?: (number|null);
    }

    export class MSG_ObtainItems implements IMSG_ObtainItems {
        public datas: IT_ItemData[];
        public reason: number;
        public box?: (IT_BoxData|null);
        public show_display_type: number;
    }

    interface IMSG_RequestShortLinkAward {
    }

    export class MSG_RequestShortLinkAward implements IMSG_RequestShortLinkAward {
    }

    interface IMSG_ResponseShortLinkAward {
        obtained_count?: (number|null);
        max_obtained_count?: (number|null);
        data?: (IT_ItemData|null);
        history_obatained_count?: (number|null);
    }

    export class MSG_ResponseShortLinkAward implements IMSG_ResponseShortLinkAward {
        public obtained_count: number;
        public max_obtained_count: number;
        public data?: (IT_ItemData|null);
        public history_obatained_count: number;
    }

    interface IMSG_UploadMainPageVoice {
        data?: (string|null);
    }

    export class MSG_UploadMainPageVoice implements IMSG_UploadMainPageVoice {
        public data: string;
    }

    interface IMSG_SetupGeographicalLocation {
        data?: (string|null);
        x?: (number|null);
        y?: (number|null);
    }

    export class MSG_SetupGeographicalLocation implements IMSG_SetupGeographicalLocation {
        public data: string;
        public x: number;
        public y: number;
    }

    interface IMSG_SetupHomePageMessage {
        data?: (string|null);
    }

    export class MSG_SetupHomePageMessage implements IMSG_SetupHomePageMessage {
        public data: string;
    }

    interface IMSG_RequestPeopleNearby {
    }

    export class MSG_RequestPeopleNearby implements IMSG_RequestPeopleNearby {
    }

    interface IMSG_ResponsePeopleNearby {
        data?: (IT_ExpandBaseUserData[]|null);
    }

    export class MSG_ResponsePeopleNearby implements IMSG_ResponsePeopleNearby {
        public data: IT_ExpandBaseUserData[];
    }

    interface IMSG_DailyCheck {
    }

    export class MSG_DailyCheck implements IMSG_DailyCheck {
    }

    interface IMSG_DailyLoginInfo {
        data?: (IT_LoginDays|null);
    }

    export class MSG_DailyLoginInfo implements IMSG_DailyLoginInfo {
        public data?: (IT_LoginDays|null);
    }

    interface IMSG_ObtainDailyLogin {
        day?: (number|null);
        obtain_type?: (number|null);
    }

    export class MSG_ObtainDailyLogin implements IMSG_ObtainDailyLogin {
        public day: number;
        public obtain_type: number;
    }

    interface IMSG_RequestDailyLogin {
    }

    export class MSG_RequestDailyLogin implements IMSG_RequestDailyLogin {
    }

    interface IMSG_RequestTodayChecked {
    }

    export class MSG_RequestTodayChecked implements IMSG_RequestTodayChecked {
    }

    interface IMSG_ResponseTodayChecked {
        checked?: (boolean|null);
        has_daily_task_not_obtained?: (boolean|null);
        has_daily_welfare_not_obtained?: (boolean|null);
        has_team_daily_task_not_obtained?: (boolean|null);
        has_user_defined_task_not_obtained?: (IT_UserDefinedTaskRedPoint[]|null);
        has_shop_exchange_not_obtained?: (IT_UserDefinedTaskRedPoint[]|null);
    }

    export class MSG_ResponseTodayChecked implements IMSG_ResponseTodayChecked {
        public checked: boolean;
        public has_daily_task_not_obtained: boolean;
        public has_daily_welfare_not_obtained: boolean;
        public has_team_daily_task_not_obtained: boolean;
        public has_user_defined_task_not_obtained: IT_UserDefinedTaskRedPoint[];
        public has_shop_exchange_not_obtained: IT_UserDefinedTaskRedPoint[];
    }

    interface IMSG_GivePraise {
        other_id?: (number|protobuf.Long|null);
        same_team?: (boolean|null);
        match_type?: (number|null);
        room_kind?: (number|null);
        teamab?: (number|null);
    }

    export class MSG_GivePraise implements IMSG_GivePraise {
        public other_id: (number|protobuf.Long);
        public same_team: boolean;
        public match_type: number;
        public room_kind: number;
        public teamab: number;
    }

    interface IMSG_ResponseBePraise {
        user_name?: (string|null);
        user_id?: (number|protobuf.Long|null);
        same_team?: (boolean|null);
        teamab?: (number|null);
    }

    export class MSG_ResponseBePraise implements IMSG_ResponseBePraise {
        public user_name: string;
        public user_id: (number|protobuf.Long);
        public same_team: boolean;
        public teamab: number;
    }

    interface IMSG_ReportPassiveUser {
        other_id?: (number|protobuf.Long|null);
        reason1st?: (number|null);
        reason2nd?: (number|null);
        reason3rd?: (number|null);
        reason4th?: (number|null);
        text?: (string|null);
        score?: (number|null);
        not_move_round?: (number|null);
        match_type?: (number|null);
        room_kind?: (number|null);
        same_team?: (boolean|null);
        teamab?: (number|null);
        move_step?: (number|null);
    }

    export class MSG_ReportPassiveUser implements IMSG_ReportPassiveUser {
        public other_id: (number|protobuf.Long);
        public reason1st: number;
        public reason2nd: number;
        public reason3rd: number;
        public reason4th: number;
        public text: string;
        public score: number;
        public not_move_round: number;
        public match_type: number;
        public room_kind: number;
        public same_team: boolean;
        public teamab: number;
        public move_step: number;
    }

    interface IMSG_NoParticipateInMatch {
        user_name?: (string|null);
        user_id?: (number|protobuf.Long|null);
        hanging_game_count?: (number|null);
        hanging_game_time?: (number|protobuf.Long|null);
        hanging_game_punish_time?: (number|protobuf.Long|null);
        not_confirm_time?: (number|protobuf.Long|null);
        not_confirm_punish_time?: (number|protobuf.Long|null);
        reason?: (number|null);
    }

    export class MSG_NoParticipateInMatch implements IMSG_NoParticipateInMatch {
        public user_name: string;
        public user_id: (number|protobuf.Long);
        public hanging_game_count: number;
        public hanging_game_time: (number|protobuf.Long);
        public hanging_game_punish_time: (number|protobuf.Long);
        public not_confirm_time: (number|protobuf.Long);
        public not_confirm_punish_time: (number|protobuf.Long);
        public reason: number;
    }

    interface IMSG_RequestDailyTask {
    }

    export class MSG_RequestDailyTask implements IMSG_RequestDailyTask {
    }

    interface IMSG_ResponseDailyTask {
        datas?: (IT_DailyTaskDatas|null);
    }

    export class MSG_ResponseDailyTask implements IMSG_ResponseDailyTask {
        public datas?: (IT_DailyTaskDatas|null);
    }

    interface IMSG_RefreshDailyTask {
        num?: (number|null);
    }

    export class MSG_RefreshDailyTask implements IMSG_RefreshDailyTask {
        public num: number;
    }

    interface IMSG_ObtainDailyTaskAward {
        num?: (number|null);
        request_type?: (number|null);
        user_defined_task_id?: (number|null);
        group?: (number|null);
        task_id?: (number|null);
    }

    export class MSG_ObtainDailyTaskAward implements IMSG_ObtainDailyTaskAward {
        public num: number;
        public request_type: number;
        public user_defined_task_id: number;
        public group: number;
        public task_id: number;
    }

    interface IMSG_ShareLinkFinishDailyTask {
    }

    export class MSG_ShareLinkFinishDailyTask implements IMSG_ShareLinkFinishDailyTask {
    }

    interface IMSG_ResponseUserDefinedTask {
        datas?: (IT_UserDefinedTaskDatas|null);
        all_shop_datas?: (IT_AllExchangeShopDatas|null);
    }

    export class MSG_ResponseUserDefinedTask implements IMSG_ResponseUserDefinedTask {
        public datas?: (IT_UserDefinedTaskDatas|null);
        public all_shop_datas?: (IT_AllExchangeShopDatas|null);
    }

    interface IMSG_RequestGrowthHistory {
    }

    export class MSG_RequestGrowthHistory implements IMSG_RequestGrowthHistory {
    }

    interface IMSG_ResponseGrowthHistory {
        growth_history?: (IT_GrowthHistoryDatas|null);
    }

    export class MSG_ResponseGrowthHistory implements IMSG_ResponseGrowthHistory {
        public growth_history?: (IT_GrowthHistoryDatas|null);
    }

    interface IMSG_ObtainGrowthHistoryAward {
        level?: (number|null);
        group?: (number|null);
        task_id?: (number|null);
        level_award?: (boolean|null);
    }

    export class MSG_ObtainGrowthHistoryAward implements IMSG_ObtainGrowthHistoryAward {
        public level: number;
        public group: number;
        public task_id: number;
        public level_award: boolean;
    }

    interface IMSG_RequestGrowthRedPoint {
    }

    export class MSG_RequestGrowthRedPoint implements IMSG_RequestGrowthRedPoint {
    }

    interface IMSG_ResponseGrowthRedPoint {
        has_growth_history_red_point?: (boolean|null);
        has_daily_activity_red_point?: (boolean|null);
    }

    export class MSG_ResponseGrowthRedPoint implements IMSG_ResponseGrowthRedPoint {
        public has_growth_history_red_point: boolean;
        public has_daily_activity_red_point: boolean;
    }

    interface IMSG_RequestDailyActivityTask {
    }

    export class MSG_RequestDailyActivityTask implements IMSG_RequestDailyActivityTask {
    }

    interface IMSG_ReponseDailyActivityTask {
        daily_activity_task?: (IT_UserDailyActivityDatas|null);
    }

    export class MSG_ReponseDailyActivityTask implements IMSG_ReponseDailyActivityTask {
        public daily_activity_task?: (IT_UserDailyActivityDatas|null);
    }

    interface IMSG_ObtainDailyActivityTaskAward {
        group?: (number|null);
        task_id?: (number|null);
    }

    export class MSG_ObtainDailyActivityTaskAward implements IMSG_ObtainDailyActivityTaskAward {
        public group: number;
        public task_id: number;
    }

    interface IMSG_ObtainDailyActivityAward {
        activity_type?: (number|null);
        num?: (number|null);
    }

    export class MSG_ObtainDailyActivityAward implements IMSG_ObtainDailyActivityAward {
        public activity_type: number;
        public num: number;
    }

    interface IMSG_RequestShopData {
    }

    export class MSG_RequestShopData implements IMSG_RequestShopData {
    }

    interface IMSG_ResponseShopData {
        data?: (IT_ShopDatas|null);
        shop_treasure_data?: (IT_ShopDatas|null);
        diamond_shop_treasure_data?: (IT_ShopDatas|null);
    }

    export class MSG_ResponseShopData implements IMSG_ResponseShopData {
        public data?: (IT_ShopDatas|null);
        public shop_treasure_data?: (IT_ShopDatas|null);
        public diamond_shop_treasure_data?: (IT_ShopDatas|null);
    }

    interface IMSG_BuyShopItem {
        shop_id?: (number|protobuf.Long|null);
        buy_type?: (number|null);
        buy_num?: (number|null);
    }

    export class MSG_BuyShopItem implements IMSG_BuyShopItem {
        public shop_id: (number|protobuf.Long);
        public buy_type: number;
        public buy_num: number;
    }

    interface IMSG_RequestHeroPrice {
    }

    export class MSG_RequestHeroPrice implements IMSG_RequestHeroPrice {
    }

    interface IMSG_ResponseHeroPrice {
        data?: (IT_HeroPrice[]|null);
    }

    export class MSG_ResponseHeroPrice implements IMSG_ResponseHeroPrice {
        public data: IT_HeroPrice[];
    }

    interface IMSG_RequestExchangeItem {
    }

    export class MSG_RequestExchangeItem implements IMSG_RequestExchangeItem {
    }

    interface IMSG_ReponseShopExchangeInfo {
        datas?: (IT_AllExchangeShopDatas|null);
    }

    export class MSG_ReponseShopExchangeInfo implements IMSG_ReponseShopExchangeInfo {
        public datas?: (IT_AllExchangeShopDatas|null);
    }

    interface IMSG_RequestSetupExchangeReminds {
        activity_id?: (number|protobuf.Long|null);
        shop_exchange_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequestSetupExchangeReminds implements IMSG_RequestSetupExchangeReminds {
        public activity_id: (number|protobuf.Long);
        public shop_exchange_id: (number|protobuf.Long);
    }

    interface IMSG_ShopExchangeItem {
        exchange_shop_id?: (number|protobuf.Long|null);
    }

    export class MSG_ShopExchangeItem implements IMSG_ShopExchangeItem {
        public exchange_shop_id: (number|protobuf.Long);
    }

    interface IMSG_SetupRedPointRemind {
        activity_id?: (number|protobuf.Long|null);
        shop_exchange_id?: (number|protobuf.Long|null);
        remind?: (boolean|null);
    }

    export class MSG_SetupRedPointRemind implements IMSG_SetupRedPointRemind {
        public activity_id: (number|protobuf.Long);
        public shop_exchange_id: (number|protobuf.Long);
        public remind: boolean;
    }

    interface IMSG_RandomShopTreasure {
        random_type?: (number|null);
        shop_type?: (number|protobuf.Long|null);
    }

    export class MSG_RandomShopTreasure implements IMSG_RandomShopTreasure {
        public random_type: number;
        public shop_type: (number|protobuf.Long);
    }

    interface IMSG_NotifyShopTreasureLuckyValue {
        weekly_count?: (number|null);
        weekly_accu_num?: (number[]|null);
        one_price?: (number|null);
        five_price?: (number|null);
        shop_gold_data?: (IT_ShopTreasureData|null);
        shop_diamond_data?: (IT_ShopTreasureData|null);
    }

    export class MSG_NotifyShopTreasureLuckyValue implements IMSG_NotifyShopTreasureLuckyValue {
        public weekly_count: number;
        public weekly_accu_num: number[];
        public one_price: number;
        public five_price: number;
        public shop_gold_data?: (IT_ShopTreasureData|null);
        public shop_diamond_data?: (IT_ShopTreasureData|null);
    }

    interface IMSG_ObtainShopAccuAward {
        number?: (number|null);
        shop_type?: (number|null);
    }

    export class MSG_ObtainShopAccuAward implements IMSG_ObtainShopAccuAward {
        public number: number;
        public shop_type: number;
    }

    interface IMSG_RequestShopTreasureLuckyValue {
    }

    export class MSG_RequestShopTreasureLuckyValue implements IMSG_RequestShopTreasureLuckyValue {
    }

    interface IMSG_ShopRedPoint {
        shop_treasure_red_point?: (boolean|null);
        shop_diamond_treasure_red_point?: (boolean|null);
        shop_treasure_red_point_free?: (boolean|null);
        shop_diamond_treasure_red_point_free?: (boolean|null);
    }

    export class MSG_ShopRedPoint implements IMSG_ShopRedPoint {
        public shop_treasure_red_point: boolean;
        public shop_diamond_treasure_red_point: boolean;
        public shop_treasure_red_point_free: boolean;
        public shop_diamond_treasure_red_point_free: boolean;
    }

    interface IMSG_BuySimpleShop {
        id?: (number|protobuf.Long|null);
        number?: (number|protobuf.Long|null);
    }

    export class MSG_BuySimpleShop implements IMSG_BuySimpleShop {
        public id: (number|protobuf.Long);
        public number: (number|protobuf.Long);
    }

    interface IMSG_RequireMyInviteCode {
    }

    export class MSG_RequireMyInviteCode implements IMSG_RequireMyInviteCode {
    }

    interface IMSG_ReplyMyInviteCode {
        code?: (string|null);
        inviter?: (IT_ExpandBaseUserData|null);
    }

    export class MSG_ReplyMyInviteCode implements IMSG_ReplyMyInviteCode {
        public code: string;
        public inviter?: (IT_ExpandBaseUserData|null);
    }

    interface IMSG_InputInviteCode {
        code?: (string|null);
    }

    export class MSG_InputInviteCode implements IMSG_InputInviteCode {
        public code: string;
    }

    interface IMSG_ReplyInputInviteCode {
        ok?: (boolean|null);
        inviter?: (IT_ExpandBaseUserData|null);
    }

    export class MSG_ReplyInputInviteCode implements IMSG_ReplyInputInviteCode {
        public ok: boolean;
        public inviter?: (IT_ExpandBaseUserData|null);
    }

    interface IMSG_RequireMyInvitateeList {
        page_index?: (number|protobuf.Long|null);
        page_size?: (number|protobuf.Long|null);
    }

    export class MSG_RequireMyInvitateeList implements IMSG_RequireMyInvitateeList {
        public page_index: (number|protobuf.Long);
        public page_size: (number|protobuf.Long);
    }

    interface IMSG_ReplyMyInvitateeList {
        page_index?: (number|protobuf.Long|null);
        page_size?: (number|protobuf.Long|null);
        total_count?: (number|protobuf.Long|null);
        invitee?: (IT_ExpandBaseUserData[]|null);
    }

    export class MSG_ReplyMyInvitateeList implements IMSG_ReplyMyInvitateeList {
        public page_index: (number|protobuf.Long);
        public page_size: (number|protobuf.Long);
        public total_count: (number|protobuf.Long);
        public invitee: IT_ExpandBaseUserData[];
    }

    interface IMSG_GetInvitateTaskReawrd {
        invitee?: (number|protobuf.Long|null);
        inviter?: (number|protobuf.Long|null);
        task_id?: (number|protobuf.Long|null);
    }

    export class MSG_GetInvitateTaskReawrd implements IMSG_GetInvitateTaskReawrd {
        public invitee: (number|protobuf.Long);
        public inviter: (number|protobuf.Long);
        public task_id: (number|protobuf.Long);
    }

    interface IMSG_ReplyInvitateTaskReawrd {
        ok?: (boolean|null);
        data?: (IT_InviteShowData|null);
    }

    export class MSG_ReplyInvitateTaskReawrd implements IMSG_ReplyInvitateTaskReawrd {
        public ok: boolean;
        public data?: (IT_InviteShowData|null);
    }

    interface IMSG_RequireInvitateRedPoint {
    }

    export class MSG_RequireInvitateRedPoint implements IMSG_RequireInvitateRedPoint {
    }

    interface IMSG_ReplyInvitateRedPoint {
        invitee?: (boolean|null);
        inviter?: (boolean|null);
    }

    export class MSG_ReplyInvitateRedPoint implements IMSG_ReplyInvitateRedPoint {
        public invitee: boolean;
        public inviter: boolean;
    }

    interface IMSG_BeginReplay {
        game_id?: (number|protobuf.Long|null);
    }

    export class MSG_BeginReplay implements IMSG_BeginReplay {
        public game_id: (number|protobuf.Long);
    }

    interface IMSG_ReplayOperration {
        pause?: (boolean|null);
        speed?: (number|protobuf.Long|null);
    }

    export class MSG_ReplayOperration implements IMSG_ReplayOperration {
        public pause: boolean;
        public speed: (number|protobuf.Long);
    }

    interface IMSG_RequestPhoneUser {
        phone_number?: ((number|protobuf.Long)[]|null);
    }

    export class MSG_RequestPhoneUser implements IMSG_RequestPhoneUser {
        public phone_number: (number|protobuf.Long)[];
    }

    interface IMSG_ResponsePhoneUser {
        data?: (IT_ExpandBaseUserData[]|null);
    }

    export class MSG_ResponsePhoneUser implements IMSG_ResponsePhoneUser {
        public data: IT_ExpandBaseUserData[];
    }

    interface IMSG_InvitePhoneUserIntoGame {
        phone_number?: (number|protobuf.Long|null);
    }

    export class MSG_InvitePhoneUserIntoGame implements IMSG_InvitePhoneUserIntoGame {
        public phone_number: (number|protobuf.Long);
    }

    interface IMSG_ObtainInvitePhoneUserAward {
        phone?: (number|protobuf.Long|null);
    }

    export class MSG_ObtainInvitePhoneUserAward implements IMSG_ObtainInvitePhoneUserAward {
        public phone: (number|protobuf.Long);
    }

    interface IMSG_RequestInvitedList {
    }

    export class MSG_RequestInvitedList implements IMSG_RequestInvitedList {
    }

    interface IMSG_ResponseInvitedList {
        data?: (IT_ExpandBaseUserData[]|null);
        one_user?: (boolean|null);
    }

    export class MSG_ResponseInvitedList implements IMSG_ResponseInvitedList {
        public data: IT_ExpandBaseUserData[];
        public one_user: boolean;
    }

    interface IMSG_InvestigateAnswer {
        id?: (number|protobuf.Long|null);
        answer1?: (string|null);
        answer2?: ((number|protobuf.Long)[]|null);
    }

    export class MSG_InvestigateAnswer implements IMSG_InvestigateAnswer {
        public id: (number|protobuf.Long);
        public answer1: string;
        public answer2: (number|protobuf.Long)[];
    }

    interface IMSG_RequestInvestigateAnswerID {
    }

    export class MSG_RequestInvestigateAnswerID implements IMSG_RequestInvestigateAnswerID {
    }

    interface IMSG_ObtainInvestigateAnswer {
        id?: (number|protobuf.Long|null);
    }

    export class MSG_ObtainInvestigateAnswer implements IMSG_ObtainInvestigateAnswer {
        public id: (number|protobuf.Long);
    }

    interface IMSG_ResponseInvestigateAnswerID {
        id?: (number|protobuf.Long|null);
        got?: ((number|protobuf.Long)[]|null);
    }

    export class MSG_ResponseInvestigateAnswerID implements IMSG_ResponseInvestigateAnswerID {
        public id: (number|protobuf.Long);
        public got: (number|protobuf.Long)[];
    }

    interface IT_InvestigateAnswer {
        data?: (IMSG_InvestigateAnswer|null);
        got?: (boolean|null);
    }

    export class T_InvestigateAnswer implements IT_InvestigateAnswer {
        public data?: (IMSG_InvestigateAnswer|null);
        public got: boolean;
    }

    interface IT_InvestigateAnswerData {
        datas?: (IT_InvestigateAnswer[]|null);
        max_answer?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        got?: ((number|protobuf.Long)[]|null);
    }

    export class T_InvestigateAnswerData implements IT_InvestigateAnswerData {
        public datas: IT_InvestigateAnswer[];
        public max_answer: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public got: (number|protobuf.Long)[];
    }

    interface IMSG_GiveLoveHeart {
        other_id?: (number|protobuf.Long|null);
        give_love_heart_type?: (number|null);
        room_id?: (number|protobuf.Long|null);
        base_data?: (IT_BaseUserData|null);
        grade_data?: (IT_GradeData|null);
        view_id?: (number|protobuf.Long|null);
    }

    export class MSG_GiveLoveHeart implements IMSG_GiveLoveHeart {
        public other_id: (number|protobuf.Long);
        public give_love_heart_type: number;
        public room_id: (number|protobuf.Long);
        public base_data?: (IT_BaseUserData|null);
        public grade_data?: (IT_GradeData|null);
        public view_id: (number|protobuf.Long);
    }

    interface IMSG_RequestAchievementShow {
        achievement_type?: (number|null);
        pos?: (number|null);
    }

    export class MSG_RequestAchievementShow implements IMSG_RequestAchievementShow {
        public achievement_type: number;
        public pos: number;
    }

    interface IMSG_ResponseAchievementShow {
        achieve_data?: (IT_HomepageAchievementData[]|null);
    }

    export class MSG_ResponseAchievementShow implements IMSG_ResponseAchievementShow {
        public achieve_data: IT_HomepageAchievementData[];
    }

    interface IMSG_GivePraiseToPhoto {
        photo_name?: (string|null);
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_GivePraiseToPhoto implements IMSG_GivePraiseToPhoto {
        public photo_name: string;
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_RetPhotoPraiseData {
        datas?: (IT_PhotoPraiseDatas|null);
    }

    export class MSG_RetPhotoPraiseData implements IMSG_RetPhotoPraiseData {
        public datas?: (IT_PhotoPraiseDatas|null);
    }

    interface IMSG_RequestPhotoPraisedData {
        datas?: (IT_PhotoPraiseDatas|null);
    }

    export class MSG_RequestPhotoPraisedData implements IMSG_RequestPhotoPraisedData {
        public datas?: (IT_PhotoPraiseDatas|null);
    }

    interface IMSG_NotifyViewerLoveHeartData {
        datas?: (IT_ViewerGiveLoveHearts|null);
    }

    export class MSG_NotifyViewerLoveHeartData implements IMSG_NotifyViewerLoveHeartData {
        public datas?: (IT_ViewerGiveLoveHearts|null);
    }

    interface IMSG_RequestGradeData {
    }

    export class MSG_RequestGradeData implements IMSG_RequestGradeData {
    }

    interface IMSG_ResponseGradeData {
        award?: (IT_GradeAwards|null);
    }

    export class MSG_ResponseGradeData implements IMSG_ResponseGradeData {
        public award?: (IT_GradeAwards|null);
    }

    interface IMSG_ObatinGradeDataAward {
        grade?: (number|protobuf.Long|null);
    }

    export class MSG_ObatinGradeDataAward implements IMSG_ObatinGradeDataAward {
        public grade: (number|protobuf.Long);
    }

    interface IMSG_RequestUserPhotoBorder {
    }

    export class MSG_RequestUserPhotoBorder implements IMSG_RequestUserPhotoBorder {
    }

    interface IMSG_ResponseUserPhotoBorder {
        datas?: (IT_PhotoBorderDatas|null);
        using_photo_border_id?: (number|protobuf.Long|null);
        new_border_id?: (number|protobuf.Long|null);
    }

    export class MSG_ResponseUserPhotoBorder implements IMSG_ResponseUserPhotoBorder {
        public datas?: (IT_PhotoBorderDatas|null);
        public using_photo_border_id: (number|protobuf.Long);
        public new_border_id: (number|protobuf.Long);
    }

    interface IMSG_ChangeUserPhotoBorder {
        photo_border_id?: (number|protobuf.Long|null);
    }

    export class MSG_ChangeUserPhotoBorder implements IMSG_ChangeUserPhotoBorder {
        public photo_border_id: (number|protobuf.Long);
    }

    interface IMSG_ClearUserPhotoBorderRedPoint {
    }

    export class MSG_ClearUserPhotoBorderRedPoint implements IMSG_ClearUserPhotoBorderRedPoint {
    }

    interface IMSG_RequestTrainingData {
    }

    export class MSG_RequestTrainingData implements IMSG_RequestTrainingData {
    }

    interface IMSG_ReplyTrainingData {
        data?: (IT_TraningData|null);
    }

    export class MSG_ReplyTrainingData implements IMSG_ReplyTrainingData {
        public data?: (IT_TraningData|null);
    }

    interface IMSG_GetTrainingStarReward {
        reward_id?: (number|protobuf.Long|null);
    }

    export class MSG_GetTrainingStarReward implements IMSG_GetTrainingStarReward {
        public reward_id: (number|protobuf.Long);
    }

    interface IMSG_TrainingStarRewardOk {
        reward_id?: (number|protobuf.Long|null);
    }

    export class MSG_TrainingStarRewardOk implements IMSG_TrainingStarRewardOk {
        public reward_id: (number|protobuf.Long);
    }

    interface IMSG_NotifyCurrentStar {
        star_count?: (number|protobuf.Long|null);
    }

    export class MSG_NotifyCurrentStar implements IMSG_NotifyCurrentStar {
        public star_count: (number|protobuf.Long);
    }

    interface IMSG_RequestTrialData {
    }

    export class MSG_RequestTrialData implements IMSG_RequestTrialData {
    }

    interface IMSG_ReplyTrialData {
        data?: (IT_TrialData|null);
    }

    export class MSG_ReplyTrialData implements IMSG_ReplyTrialData {
        public data?: (IT_TrialData|null);
    }

    interface IMSG_SetTrialData {
        hero_1?: (IT_TrialDataHero|null);
        hero_2?: (IT_TrialDataHero|null);
        hero_3?: (IT_TrialDataHero|null);
        hero_4?: (IT_TrialDataHero|null);
    }

    export class MSG_SetTrialData implements IMSG_SetTrialData {
        public hero_1?: (IT_TrialDataHero|null);
        public hero_2?: (IT_TrialDataHero|null);
        public hero_3?: (IT_TrialDataHero|null);
        public hero_4?: (IT_TrialDataHero|null);
    }

    interface IMSG_TrailSweepAll {
    }

    export class MSG_TrailSweepAll implements IMSG_TrailSweepAll {
    }

    interface IMSG_TrailSweepAllRet {
        ok?: (boolean|null);
    }

    export class MSG_TrailSweepAllRet implements IMSG_TrailSweepAllRet {
        public ok: boolean;
    }

    interface IMSG_RequestUserVideo {
        video_type?: (number|null);
    }

    export class MSG_RequestUserVideo implements IMSG_RequestUserVideo {
        public video_type: number;
    }

    interface IMSG_ResponseTemporaryVideo {
        temporary_video?: (IT_GameDatas|null);
        permanent_video?: (IT_GameDatas|null);
        count?: (IT_RoomVideoPlayAndPraiseCountData[]|null);
    }

    export class MSG_ResponseTemporaryVideo implements IMSG_ResponseTemporaryVideo {
        public temporary_video?: (IT_GameDatas|null);
        public permanent_video?: (IT_GameDatas|null);
        public count: IT_RoomVideoPlayAndPraiseCountData[];
    }

    interface IMSG_NotifyRoomVideoPraiseAndPlay {
        count_data?: (IT_RoomVideoPlayAndPraiseCountData|null);
        video_message?: (string|null);
    }

    export class MSG_NotifyRoomVideoPraiseAndPlay implements IMSG_NotifyRoomVideoPraiseAndPlay {
        public count_data?: (IT_RoomVideoPlayAndPraiseCountData|null);
        public video_message: string;
    }

    interface IMSG_TransferTemporaryVideoToPermannetVideo {
        room_id?: (number|protobuf.Long|null);
    }

    export class MSG_TransferTemporaryVideoToPermannetVideo implements IMSG_TransferTemporaryVideoToPermannetVideo {
        public room_id: (number|protobuf.Long);
    }

    interface IMSG_DeleteOnePermamnentVideo {
        room_id?: (number|protobuf.Long|null);
    }

    export class MSG_DeleteOnePermamnentVideo implements IMSG_DeleteOnePermamnentVideo {
        public room_id: (number|protobuf.Long);
    }

    interface IMSG_ChangePermanentVideoName {
        room_id?: (number|protobuf.Long|null);
        video_name?: (string|null);
    }

    export class MSG_ChangePermanentVideoName implements IMSG_ChangePermanentVideoName {
        public room_id: (number|protobuf.Long);
        public video_name: string;
    }

    interface IMSG_GivePraiseToVideo {
        room_id?: (number|protobuf.Long|null);
    }

    export class MSG_GivePraiseToVideo implements IMSG_GivePraiseToVideo {
        public room_id: (number|protobuf.Long);
    }

    interface IMSG_LeaveMessageToVideo {
        room_id?: (number|protobuf.Long|null);
        video_message?: (string|null);
    }

    export class MSG_LeaveMessageToVideo implements IMSG_LeaveMessageToVideo {
        public room_id: (number|protobuf.Long);
        public video_message: string;
    }

    interface IMSG_RequestVideoMessage {
        room_id?: (number|protobuf.Long|null);
        msg_begin?: (number|null);
        msg_end?: (number|null);
    }

    export class MSG_RequestVideoMessage implements IMSG_RequestVideoMessage {
        public room_id: (number|protobuf.Long);
        public msg_begin: number;
        public msg_end: number;
    }

    interface IMSG_ResponseVideoMessage {
        data?: (IMSG_RequestVideoMessage|null);
        msg_count?: (number|null);
        msg_data?: (IT_RoomVideoMessageData[]|null);
    }

    export class MSG_ResponseVideoMessage implements IMSG_ResponseVideoMessage {
        public data?: (IMSG_RequestVideoMessage|null);
        public msg_count: number;
        public msg_data: IT_RoomVideoMessageData[];
    }

    interface IMSG_RequestPlayVideo {
        room_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequestPlayVideo implements IMSG_RequestPlayVideo {
        public room_id: (number|protobuf.Long);
    }

    interface IMSG_SendUserBillProfile {
        bill_profile?: (IT_UserBillProfile|null);
    }

    export class MSG_SendUserBillProfile implements IMSG_SendUserBillProfile {
        public bill_profile?: (IT_UserBillProfile|null);
    }

    interface IMSG_CheckRechargeAction {
        recharge_id?: (number|protobuf.Long|null);
    }

    export class MSG_CheckRechargeAction implements IMSG_CheckRechargeAction {
        public recharge_id: (number|protobuf.Long);
    }

    interface IMSG_RetRechargeAction {
        recharge_id?: (number|protobuf.Long|null);
        ok?: (boolean|null);
    }

    export class MSG_RetRechargeAction implements IMSG_RetRechargeAction {
        public recharge_id: (number|protobuf.Long);
        public ok: boolean;
    }

    interface IMSG_DoRechargeAction {
        recharge_id?: (number|protobuf.Long|null);
        ok?: (boolean|null);
    }

    export class MSG_DoRechargeAction implements IMSG_DoRechargeAction {
        public recharge_id: (number|protobuf.Long);
        public ok: boolean;
    }

    interface IMSG_RequireRechargeShop {
    }

    export class MSG_RequireRechargeShop implements IMSG_RequireRechargeShop {
    }

    interface IMSG_SendRechargeShop {
        flag?: (number|protobuf.Long|null);
        goods?: (IT_RechargeGoods[]|null);
        speical_goods?: (IT_RechargeSpeicalGoods[]|null);
        amount?: (number|protobuf.Long|null);
    }

    export class MSG_SendRechargeShop implements IMSG_SendRechargeShop {
        public flag: (number|protobuf.Long);
        public goods: IT_RechargeGoods[];
        public speical_goods: IT_RechargeSpeicalGoods[];
        public amount: (number|protobuf.Long);
    }

    interface IMSG_GetFirstChargeItem {
    }

    export class MSG_GetFirstChargeItem implements IMSG_GetFirstChargeItem {
    }

    interface IMSG_SendFirstCharge {
        has_first_charge?: (boolean|null);
        get_first_charge?: (boolean|null);
        first_charge_list?: ((number|protobuf.Long)[]|null);
    }

    export class MSG_SendFirstCharge implements IMSG_SendFirstCharge {
        public has_first_charge: boolean;
        public get_first_charge: boolean;
        public first_charge_list: (number|protobuf.Long)[];
    }

    interface IMSG_GetUserBillAmount {
    }

    export class MSG_GetUserBillAmount implements IMSG_GetUserBillAmount {
    }

    interface IMSG_SendUserBillAmount {
        amount?: (number|protobuf.Long|null);
    }

    export class MSG_SendUserBillAmount implements IMSG_SendUserBillAmount {
        public amount: (number|protobuf.Long);
    }

    interface IMSG_RequestVipLevelData {
    }

    export class MSG_RequestVipLevelData implements IMSG_RequestVipLevelData {
    }

    interface IMSG_ResponseVipLevelData {
        vip_data?: (IT_MostImportantPerson|null);
    }

    export class MSG_ResponseVipLevelData implements IMSG_ResponseVipLevelData {
        public vip_data?: (IT_MostImportantPerson|null);
    }

    interface IMSG_ObtainMonthlyCardAward {
        obtain_type?: (number|null);
    }

    export class MSG_ObtainMonthlyCardAward implements IMSG_ObtainMonthlyCardAward {
        public obtain_type: number;
    }

    interface IMSG_NotifyMonthlyCardRedPoint {
        monthly_card_red_point?: (boolean|null);
    }

    export class MSG_NotifyMonthlyCardRedPoint implements IMSG_NotifyMonthlyCardRedPoint {
        public monthly_card_red_point: boolean;
    }

    interface IMSG_RequestGrowthFund {
    }

    export class MSG_RequestGrowthFund implements IMSG_RequestGrowthFund {
    }

    interface IMSG_NotifyGrowthFund {
        growth_fund_data?: (IT_GrowthFundData|null);
        award_data?: (IT_ExtraItemData[]|null);
        recharge_id?: (number|protobuf.Long|null);
    }

    export class MSG_NotifyGrowthFund implements IMSG_NotifyGrowthFund {
        public growth_fund_data?: (IT_GrowthFundData|null);
        public award_data: IT_ExtraItemData[];
        public recharge_id: (number|protobuf.Long);
    }

    interface IMSG_ObtainGrowthFundAward {
        level?: (number|null);
    }

    export class MSG_ObtainGrowthFundAward implements IMSG_ObtainGrowthFundAward {
        public level: number;
    }

    interface IMSG_ParticipateInPeakGame {
    }

    export class MSG_ParticipateInPeakGame implements IMSG_ParticipateInPeakGame {
    }

    interface IMSG_PeakGameSelectHero {
        data?: (IT_PeakGameData|null);
        finished?: (boolean|null);
        need_gold?: (number|protobuf.Long|null);
        need_diamond?: (number|protobuf.Long|null);
        need_hero_num?: (number|null);
        buy_ticket_num?: (number|null);
        consume_ticket?: (number|null);
        win_condition?: (number|null);
        lose_condition?: (number|null);
        select_hero_num?: (number|null);
        award_box_id?: (number|protobuf.Long|null);
    }

    export class MSG_PeakGameSelectHero implements IMSG_PeakGameSelectHero {
        public data?: (IT_PeakGameData|null);
        public finished: boolean;
        public need_gold: (number|protobuf.Long);
        public need_diamond: (number|protobuf.Long);
        public need_hero_num: number;
        public buy_ticket_num: number;
        public consume_ticket: number;
        public win_condition: number;
        public lose_condition: number;
        public select_hero_num: number;
        public award_box_id: (number|protobuf.Long);
    }

    interface IMSG_ClosePeakGameInAdvance {
    }

    export class MSG_ClosePeakGameInAdvance implements IMSG_ClosePeakGameInAdvance {
    }

    interface IMSG_RequestPeakGameData {
    }

    export class MSG_RequestPeakGameData implements IMSG_RequestPeakGameData {
    }

    interface IMSG_SelectPeakGameHero {
        hero_id?: (number|protobuf.Long|null);
    }

    export class MSG_SelectPeakGameHero implements IMSG_SelectPeakGameHero {
        public hero_id: (number|protobuf.Long);
    }

    interface IMSG_ObtainPeakGameAward {
    }

    export class MSG_ObtainPeakGameAward implements IMSG_ObtainPeakGameAward {
    }

    interface IMSG_ChangePeakGameHeroSealPage {
        numth?: (number|null);
        seal_page_id?: (number|null);
    }

    export class MSG_ChangePeakGameHeroSealPage implements IMSG_ChangePeakGameHeroSealPage {
        public numth: number;
        public seal_page_id: number;
    }

    interface IMSG_BuyPeakGameTicket {
    }

    export class MSG_BuyPeakGameTicket implements IMSG_BuyPeakGameTicket {
    }

    export class EchoService extends protobuf.rpc.Service {
        public ping(request: IMSG_Ping, callback: EchoService.PingCallback): void;
        public ping(request: IMSG_Ping): Promise<MSG_Pong>;
    }

    namespace EchoService {

        type PingCallback = (error: (Error|null), response?: MSG_Pong) => void;
    }

    interface IT_BaseUserData {
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        level?: (number|null);
        face?: (number|null);
        gender?: (number|null);
        photo?: (string|null);
        x?: (number|null);
        y?: (number|null);
        phone?: (number|protobuf.Long|null);
        system_check?: (number|null);
        photo_border?: (number|null);
        vip_level?: (number|null);
    }

    export class T_BaseUserData implements IT_BaseUserData {
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public level: number;
        public face: number;
        public gender: number;
        public photo: string;
        public x: number;
        public y: number;
        public phone: (number|protobuf.Long);
        public system_check: number;
        public photo_border: number;
        public vip_level: number;
    }

    interface IT_UserProfile {
        account?: (string|null);
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        accid?: (string|null);
        ga_open_id?: (string|null);
        ga_account?: (string|null);
        money_gold?: (number|protobuf.Long|null);
        money_diamond?: (number|protobuf.Long|null);
        boxes?: (IT_BoxData[]|null);
        common_skin_piece?: (number|protobuf.Long|null);
        exp?: (number|protobuf.Long|null);
        base_data?: (IT_BaseUserData|null);
        recent_news?: (IT_RecentNews|null);
        online_time?: (number|protobuf.Long|null);
        offline_time?: (number|protobuf.Long|null);
        photos?: (IT_PhotoData[]|null);
        game_count?: (number|null);
        day_online_time?: (number|protobuf.Long|null);
        online_days?: (number|null);
        history_money_gold?: (number|protobuf.Long|null);
        history_money_diamond?: (number|protobuf.Long|null);
        system_set?: (IT_SystemSetting|null);
        home_page_data?: (IT_HomePageData|null);
        weekly_money?: (IT_WeeklyMoneyLimit|null);
        platform?: (number|null);
        win_in_a_row?: (number|null);
        create_time?: (number|protobuf.Long|null);
        create_ip?: (number|protobuf.Long|null);
        last_ip?: (number|protobuf.Long|null);
        stat_time?: (number|protobuf.Long|null);
        new_beginner_game_count?: (number|null);
        new_born?: (boolean|null);
        popularity?: (number|protobuf.Long|null);
        battle_team_id?: (number|protobuf.Long|null);
        achieve_data?: (IT_HomepageAchievementData[]|null);
        ladder_win_count?: (number|null);
        last_win_or_lost?: (boolean|null);
        hanging_game_time?: (number|protobuf.Long|null);
        hanging_game_count?: (number|null);
        not_confirm_time?: (number|protobuf.Long|null);
        day_time_data?: (IT_DayTimeData|null);
    }

    export class T_UserProfile implements IT_UserProfile {
        public account: string;
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public accid: string;
        public ga_open_id: string;
        public ga_account: string;
        public money_gold: (number|protobuf.Long);
        public money_diamond: (number|protobuf.Long);
        public boxes: IT_BoxData[];
        public common_skin_piece: (number|protobuf.Long);
        public exp: (number|protobuf.Long);
        public base_data?: (IT_BaseUserData|null);
        public recent_news?: (IT_RecentNews|null);
        public online_time: (number|protobuf.Long);
        public offline_time: (number|protobuf.Long);
        public photos: IT_PhotoData[];
        public game_count: number;
        public day_online_time: (number|protobuf.Long);
        public online_days: number;
        public history_money_gold: (number|protobuf.Long);
        public history_money_diamond: (number|protobuf.Long);
        public system_set?: (IT_SystemSetting|null);
        public home_page_data?: (IT_HomePageData|null);
        public weekly_money?: (IT_WeeklyMoneyLimit|null);
        public platform: number;
        public win_in_a_row: number;
        public create_time: (number|protobuf.Long);
        public create_ip: (number|protobuf.Long);
        public last_ip: (number|protobuf.Long);
        public stat_time: (number|protobuf.Long);
        public new_beginner_game_count: number;
        public new_born: boolean;
        public popularity: (number|protobuf.Long);
        public battle_team_id: (number|protobuf.Long);
        public achieve_data: IT_HomepageAchievementData[];
        public ladder_win_count: number;
        public last_win_or_lost: boolean;
        public hanging_game_time: (number|protobuf.Long);
        public hanging_game_count: number;
        public not_confirm_time: (number|protobuf.Long);
        public day_time_data?: (IT_DayTimeData|null);
    }

    interface IT_RoomUserProfile {
        base_data?: (IT_BaseUserData|null);
        account?: (string|null);
        money_gold?: (number|protobuf.Long|null);
        money_diamond?: (number|protobuf.Long|null);
        box_id?: (number|protobuf.Long|null);
        common_skin_piece?: (number|protobuf.Long|null);
        exp?: (number|protobuf.Long|null);
        recent_news?: (IT_RecentNews|null);
        game_count?: (number|null);
        weekly_money?: (IT_WeeklyMoneyLimit|null);
        platform?: (number|null);
        win_in_a_row?: (number|null);
        accid?: (string|null);
        new_beginner_game_count?: (number|null);
        popularity?: (number|protobuf.Long|null);
        battle_team_id?: (number|protobuf.Long|null);
        ladder_win_count?: (number|null);
        last_win_or_lost?: (boolean|null);
        hanging_game_time?: (number|protobuf.Long|null);
        hanging_game_count?: (number|null);
        day_time_data?: (IT_DayTimeData|null);
    }

    export class T_RoomUserProfile implements IT_RoomUserProfile {
        public base_data?: (IT_BaseUserData|null);
        public account: string;
        public money_gold: (number|protobuf.Long);
        public money_diamond: (number|protobuf.Long);
        public box_id: (number|protobuf.Long);
        public common_skin_piece: (number|protobuf.Long);
        public exp: (number|protobuf.Long);
        public recent_news?: (IT_RecentNews|null);
        public game_count: number;
        public weekly_money?: (IT_WeeklyMoneyLimit|null);
        public platform: number;
        public win_in_a_row: number;
        public accid: string;
        public new_beginner_game_count: number;
        public popularity: (number|protobuf.Long);
        public battle_team_id: (number|protobuf.Long);
        public ladder_win_count: number;
        public last_win_or_lost: boolean;
        public hanging_game_time: (number|protobuf.Long);
        public hanging_game_count: number;
        public day_time_data?: (IT_DayTimeData|null);
    }

    interface IT_DayTimeData {
        refresh_time?: (number|protobuf.Long|null);
        reduce_hang_count?: (number|null);
        reduce_be_reported_count?: (number|null);
    }

    export class T_DayTimeData implements IT_DayTimeData {
        public refresh_time: (number|protobuf.Long);
        public reduce_hang_count: number;
        public reduce_be_reported_count: number;
    }

    interface IT_UserBillAddtionData {
        addtion_id?: (number|protobuf.Long|null);
        day_count?: (number|protobuf.Long|null);
        time_stamp?: (number|protobuf.Long|null);
    }

    export class T_UserBillAddtionData implements IT_UserBillAddtionData {
        public addtion_id: (number|protobuf.Long);
        public day_count: (number|protobuf.Long);
        public time_stamp: (number|protobuf.Long);
    }

    interface IT_UserBillData {
        recharge_id?: (number|protobuf.Long|null);
        day_count?: (number|protobuf.Long|null);
        time_stamp?: (number|protobuf.Long|null);
    }

    export class T_UserBillData implements IT_UserBillData {
        public recharge_id: (number|protobuf.Long);
        public day_count: (number|protobuf.Long);
        public time_stamp: (number|protobuf.Long);
    }

    interface IT_UserBillProfile {
        user_id?: (number|protobuf.Long|null);
        bill_datas?: (IT_UserBillData[]|null);
        bill_addtions?: (IT_UserBillAddtionData[]|null);
        has_first_charge?: (boolean|null);
        get_first_charge?: (boolean|null);
        first_charge_list?: ((number|protobuf.Long)[]|null);
    }

    export class T_UserBillProfile implements IT_UserBillProfile {
        public user_id: (number|protobuf.Long);
        public bill_datas: IT_UserBillData[];
        public bill_addtions: IT_UserBillAddtionData[];
        public has_first_charge: boolean;
        public get_first_charge: boolean;
        public first_charge_list: (number|protobuf.Long)[];
    }

    interface IT_HomePageData {
        home_page_message?: (string|null);
        geo_location?: (string|null);
        main_page_voice?: (string|null);
    }

    export class T_HomePageData implements IT_HomePageData {
        public home_page_message: string;
        public geo_location: string;
        public main_page_voice: string;
    }

    interface IT_HomepageAchievementData {
        pos?: (number|null);
        achievement_type?: (number|null);
    }

    export class T_HomepageAchievementData implements IT_HomepageAchievementData {
        public pos: number;
        public achievement_type: number;
    }

    interface IT_HeroData {
        hero_id?: (number|protobuf.Long|null);
        active?: (boolean|null);
        cur_skin_id?: (number|protobuf.Long|null);
        upgrade?: (number|null);
        valid_time?: (number|protobuf.Long|null);
        skins?: (IT_SkinData[]|null);
    }

    export class T_HeroData implements IT_HeroData {
        public hero_id: (number|protobuf.Long);
        public active: boolean;
        public cur_skin_id: (number|protobuf.Long);
        public upgrade: number;
        public valid_time: (number|protobuf.Long);
        public skins: IT_SkinData[];
    }

    interface IT_BoostHeroData {
        hp_level?: (number|null);
        attack_level?: (number|null);
        hp_failed_add?: (number|null);
        attack_failed_add?: (number|null);
    }

    export class T_BoostHeroData implements IT_BoostHeroData {
        public hp_level: number;
        public attack_level: number;
        public hp_failed_add: number;
        public attack_failed_add: number;
    }

    interface IT_UserHeroData {
        user_id?: (number|protobuf.Long|null);
        heros?: (IT_HeroData[]|null);
    }

    export class T_UserHeroData implements IT_UserHeroData {
        public user_id: (number|protobuf.Long);
        public heros: IT_HeroData[];
    }

    interface IT_DayPopularity {
        cur_popularity?: (number|null);
    }

    export class T_DayPopularity implements IT_DayPopularity {
        public cur_popularity: number;
    }

    interface IT_RecentPopularity {
        day?: (number|null);
        day_popularity?: (IT_DayPopularity[]|null);
    }

    export class T_RecentPopularity implements IT_RecentPopularity {
        public day: number;
        public day_popularity: IT_DayPopularity[];
    }

    interface IT_RecentPopularitys {
        data?: (IT_RecentPopularity[]|null);
    }

    export class T_RecentPopularitys implements IT_RecentPopularitys {
        public data: IT_RecentPopularity[];
    }

    interface IT_Vector3 {
        x?: (number|null);
        y?: (number|null);
        z?: (number|null);
    }

    export class T_Vector3 implements IT_Vector3 {
        public x: number;
        public y: number;
        public z: number;
    }

    interface IT_Pos {
        world_pos?: (IT_Vector3|null);
        map_pos?: (IT_Vector3|null);
        dir?: (number|null);
    }

    export class T_Pos implements IT_Pos {
        public world_pos?: (IT_Vector3|null);
        public map_pos?: (IT_Vector3|null);
        public dir: number;
    }

    interface IT_CellData {
        addr?: (string|null);
        type?: (number|null);
        id?: (number|null);
        spec_code?: (string|null);
    }

    export class T_CellData implements IT_CellData {
        public addr: string;
        public type: number;
        public id: number;
        public spec_code: string;
    }

    interface IT_WeaponData {
        weapon_id?: (number|protobuf.Long|null);
        activity?: (boolean|null);
        unlock?: (boolean|null);
        carry_count?: (number|protobuf.Long|null);
        supply_point?: (number|protobuf.Long|null);
        cold_step?: (number|protobuf.Long|null);
        max_count?: (number|protobuf.Long|null);
        supply_need?: (number|protobuf.Long|null);
        cold_down?: (number|protobuf.Long|null);
        max_supply?: (number|protobuf.Long|null);
        loc?: (number|protobuf.Long|null);
    }

    export class T_WeaponData implements IT_WeaponData {
        public weapon_id: (number|protobuf.Long);
        public activity: boolean;
        public unlock: boolean;
        public carry_count: (number|protobuf.Long);
        public supply_point: (number|protobuf.Long);
        public cold_step: (number|protobuf.Long);
        public max_count: (number|protobuf.Long);
        public supply_need: (number|protobuf.Long);
        public cold_down: (number|protobuf.Long);
        public max_supply: (number|protobuf.Long);
        public loc: (number|protobuf.Long);
    }

    interface IT_SkinData {
        skin_id?: (number|protobuf.Long|null);
        is_active?: (boolean|null);
        is_temp?: (boolean|null);
        active_time?: (number|protobuf.Long|null);
        last_time?: (number|protobuf.Long|null);
    }

    export class T_SkinData implements IT_SkinData {
        public skin_id: (number|protobuf.Long);
        public is_active: boolean;
        public is_temp: boolean;
        public active_time: (number|protobuf.Long);
        public last_time: (number|protobuf.Long);
    }

    interface IT_SkinData_Old {
        skin_ids?: ((number|protobuf.Long)[]|null);
    }

    export class T_SkinData_Old implements IT_SkinData_Old {
        public skin_ids: (number|protobuf.Long)[];
    }

    interface IT_BoxData {
        box_id?: (number|protobuf.Long|null);
        box_loc?: (number|protobuf.Long|null);
        start_time?: (number|protobuf.Long|null);
        open_time?: (number|protobuf.Long|null);
        box_type?: (number|protobuf.Long|null);
        box_grade?: (number|protobuf.Long|null);
    }

    export class T_BoxData implements IT_BoxData {
        public box_id: (number|protobuf.Long);
        public box_loc: (number|protobuf.Long);
        public start_time: (number|protobuf.Long);
        public open_time: (number|protobuf.Long);
        public box_type: (number|protobuf.Long);
        public box_grade: (number|protobuf.Long);
    }

    interface IT_ItemData {
        object_id?: (number|protobuf.Long|null);
        object_num?: (number|protobuf.Long|null);
    }

    export class T_ItemData implements IT_ItemData {
        public object_id: (number|protobuf.Long);
        public object_num: (number|protobuf.Long);
    }

    interface IT_RefreshItemData {
        item?: (IT_ItemData[]|null);
        desc?: (string|null);
    }

    export class T_RefreshItemData implements IT_RefreshItemData {
        public item: IT_ItemData[];
        public desc: string;
    }

    interface IT_UserItemData {
        user_id?: (number|protobuf.Long|null);
        item?: (IT_ItemData[]|null);
    }

    export class T_UserItemData implements IT_UserItemData {
        public user_id: (number|protobuf.Long);
        public item: IT_ItemData[];
    }

    interface IT_ExtraItemData {
        extra_id?: (number|protobuf.Long|null);
        item?: (IT_ItemData[]|null);
    }

    export class T_ExtraItemData implements IT_ExtraItemData {
        public extra_id: (number|protobuf.Long);
        public item: IT_ItemData[];
    }

    interface IT_SocialNumData {
        my_follow_num?: (number|protobuf.Long|null);
        follow_me_num?: (number|protobuf.Long|null);
        friend_num?: (number|protobuf.Long|null);
        recent_contact_num?: (number|protobuf.Long|null);
        new_fans_num?: (number|protobuf.Long|null);
        love_heart_num?: (number|protobuf.Long|null);
    }

    export class T_SocialNumData implements IT_SocialNumData {
        public my_follow_num: (number|protobuf.Long);
        public follow_me_num: (number|protobuf.Long);
        public friend_num: (number|protobuf.Long);
        public recent_contact_num: (number|protobuf.Long);
        public new_fans_num: (number|protobuf.Long);
        public love_heart_num: (number|protobuf.Long);
    }

    interface IT_StorListData {
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        grade?: (IT_GradeData|null);
        have_follow_him?: (boolean|null);
        base_data?: (IT_BaseUserData|null);
        nick_name?: (string|null);
        sort_extra_data?: (IT_SortListExtraData|null);
        battle_watch_data?: (IT_UserBattleWatchData|null);
    }

    export class T_StorListData implements IT_StorListData {
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public grade?: (IT_GradeData|null);
        public have_follow_him: boolean;
        public base_data?: (IT_BaseUserData|null);
        public nick_name: string;
        public sort_extra_data?: (IT_SortListExtraData|null);
        public battle_watch_data?: (IT_UserBattleWatchData|null);
    }

    interface IT_WatchUserData {
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        grade?: (IT_GradeData|null);
        online?: (boolean|null);
        social_num?: (IT_SocialNumData|null);
        friend?: (boolean|null);
        base_data?: (IT_BaseUserData|null);
        recent_news?: (IT_RecentNews|null);
        history_grade?: (IT_GradeData|null);
        new_follow_me?: (boolean|null);
        state?: (number|null);
        nick_name?: (string|null);
        battle_watch_data?: (IT_UserBattleWatchData|null);
        love_heart_to_one?: (number|null);
    }

    export class T_WatchUserData implements IT_WatchUserData {
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public grade?: (IT_GradeData|null);
        public online: boolean;
        public social_num?: (IT_SocialNumData|null);
        public friend: boolean;
        public base_data?: (IT_BaseUserData|null);
        public recent_news?: (IT_RecentNews|null);
        public history_grade?: (IT_GradeData|null);
        public new_follow_me: boolean;
        public state: number;
        public nick_name: string;
        public battle_watch_data?: (IT_UserBattleWatchData|null);
        public love_heart_to_one: number;
    }

    interface IT_WaitingUserData {
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        ready?: (boolean|null);
        team?: (number|protobuf.Long|null);
        loc?: (number|protobuf.Long|null);
        base_data?: (IT_BaseUserData|null);
        robot?: (boolean|null);
        hero?: (IT_HeroData|null);
    }

    export class T_WaitingUserData implements IT_WaitingUserData {
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public ready: boolean;
        public team: (number|protobuf.Long);
        public loc: (number|protobuf.Long);
        public base_data?: (IT_BaseUserData|null);
        public robot: boolean;
        public hero?: (IT_HeroData|null);
    }

    interface IT_UserState {
        offline?: (boolean|null);
        online?: (boolean|null);
        team?: (boolean|null);
        matching?: (boolean|null);
        select_hero?: (boolean|null);
        gaming?: (boolean|null);
        team_not_prepare?: (boolean|null);
    }

    export class T_UserState implements IT_UserState {
        public offline: boolean;
        public online: boolean;
        public team: boolean;
        public matching: boolean;
        public select_hero: boolean;
        public gaming: boolean;
        public team_not_prepare: boolean;
    }

    interface IT_JoinTeamUserData {
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        grade?: (IT_GradeData|null);
        state?: (number|protobuf.Long|null);
        ready?: (boolean|null);
        base_data?: (IT_BaseUserData|null);
        nick_name?: (string|null);
        pos?: (number|null);
        robot?: (boolean|null);
    }

    export class T_JoinTeamUserData implements IT_JoinTeamUserData {
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public grade?: (IT_GradeData|null);
        public state: (number|protobuf.Long);
        public ready: boolean;
        public base_data?: (IT_BaseUserData|null);
        public nick_name: string;
        public pos: number;
        public robot: boolean;
    }

    interface IT_GradeData {
        medal?: (number|protobuf.Long|null);
        grade?: (number|protobuf.Long|null);
        star?: (number|protobuf.Long|null);
        brave?: (number|protobuf.Long|null);
        continue_win?: (number|protobuf.Long|null);
    }

    export class T_GradeData implements IT_GradeData {
        public medal: (number|protobuf.Long);
        public grade: (number|protobuf.Long);
        public star: (number|protobuf.Long);
        public brave: (number|protobuf.Long);
        public continue_win: (number|protobuf.Long);
    }

    interface IT_ChatData {
        id?: (number|protobuf.Long|null);
        msg?: (string|null);
    }

    export class T_ChatData implements IT_ChatData {
        public id: (number|protobuf.Long);
        public msg: string;
    }

    interface IT_RecentNews {
        event?: (number|null);
        happen_time?: (number|protobuf.Long|null);
        extra_param?: (number|null);
        extra_str?: (string|null);
    }

    export class T_RecentNews implements IT_RecentNews {
        public event: number;
        public happen_time: (number|protobuf.Long);
        public extra_param: number;
        public extra_str: string;
    }

    interface IT_UserFollow {
        user_id?: (number|protobuf.Long|null);
        follow?: (boolean|null);
    }

    export class T_UserFollow implements IT_UserFollow {
        public user_id: (number|protobuf.Long);
        public follow: boolean;
    }

    interface IT_HeroUserData {
        hero_id?: (number|null);
        hero_use_num?: (number|null);
        hero_win_num?: (number|null);
    }

    export class T_HeroUserData implements IT_HeroUserData {
        public hero_id: number;
        public hero_use_num: number;
        public hero_win_num: number;
    }

    interface IT_HeroUseDatas {
        data?: (IT_HeroUserData[]|null);
    }

    export class T_HeroUseDatas implements IT_HeroUseDatas {
        public data: IT_HeroUserData[];
    }

    interface IT_TeamHeroData {
        hero_data?: (IT_HeroData|null);
        team?: (number|null);
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
    }

    export class T_TeamHeroData implements IT_TeamHeroData {
        public hero_data?: (IT_HeroData|null);
        public team: number;
        public user_id: (number|protobuf.Long);
        public user_name: string;
    }

    interface IT_GameData {
        hero_id?: (number|null);
        result?: (boolean|null);
        kill_num?: (number|null);
        death_num?: (number|null);
        assist_num?: (number|null);
        score?: (number|null);
        damage?: (number|null);
        cure?: (number|null);
        time?: (number|protobuf.Long|null);
        unique_id?: (number|protobuf.Long|null);
        skin_id?: (number|null);
        win_mvp?: (boolean|null);
        battle_data_type?: (number|null);
        video_name?: (string|null);
        hero_datas?: (IT_TeamHeroData[]|null);
        start_time?: (number|protobuf.Long|null);
        score_a?: (number|protobuf.Long|null);
        score_b?: (number|protobuf.Long|null);
    }

    export class T_GameData implements IT_GameData {
        public hero_id: number;
        public result: boolean;
        public kill_num: number;
        public death_num: number;
        public assist_num: number;
        public score: number;
        public damage: number;
        public cure: number;
        public time: (number|protobuf.Long);
        public unique_id: (number|protobuf.Long);
        public skin_id: number;
        public win_mvp: boolean;
        public battle_data_type: number;
        public video_name: string;
        public hero_datas: IT_TeamHeroData[];
        public start_time: (number|protobuf.Long);
        public score_a: (number|protobuf.Long);
        public score_b: (number|protobuf.Long);
    }

    interface IT_GameDatas {
        game_data?: (IT_GameData[]|null);
    }

    export class T_GameDatas implements IT_GameDatas {
        public game_data: IT_GameData[];
    }

    interface IT_UserBattleData {
        win_mvp_num?: (number|null);
        lost_mvp_num?: (number|null);
        one_game_damage?: (number|null);
        one_game_kill_count?: (number|null);
        one_round_kill_two?: (number|null);
        one_round_kill_three?: (number|null);
        one_game_cure?: (number|null);
        win_in_a_row?: (number|null);
        kda?: (number|null);
        race_num?: (number|null);
        race_all_damage?: (number|protobuf.Long|null);
        race_all_cure?: (number|protobuf.Long|null);
        race_all_death?: (number|protobuf.Long|null);
        hero_user_data?: (IT_HeroUserData[]|null);
        race_win_num?: (number|null);
        game_data?: (IT_GameData[]|null);
        grade?: (IT_GradeData|null);
        heros?: (IT_UserHeroData|null);
        all_score?: (number|null);
        race_all_kill?: (number|protobuf.Long|null);
        battle_data_type?: (number|null);
        cur_win_in_a_row?: (number|null);
        one_round_kill_four?: (number|null);
        god_like_num?: (number|null);
    }

    export class T_UserBattleData implements IT_UserBattleData {
        public win_mvp_num: number;
        public lost_mvp_num: number;
        public one_game_damage: number;
        public one_game_kill_count: number;
        public one_round_kill_two: number;
        public one_round_kill_three: number;
        public one_game_cure: number;
        public win_in_a_row: number;
        public kda: number;
        public race_num: number;
        public race_all_damage: (number|protobuf.Long);
        public race_all_cure: (number|protobuf.Long);
        public race_all_death: (number|protobuf.Long);
        public hero_user_data: IT_HeroUserData[];
        public race_win_num: number;
        public game_data: IT_GameData[];
        public grade?: (IT_GradeData|null);
        public heros?: (IT_UserHeroData|null);
        public all_score: number;
        public race_all_kill: (number|protobuf.Long);
        public battle_data_type: number;
        public cur_win_in_a_row: number;
        public one_round_kill_four: number;
        public god_like_num: number;
    }

    interface IT_UserBattleDatas {
        data?: (IT_UserBattleData[]|null);
        box_sequence?: (number|protobuf.Long|null);
    }

    export class T_UserBattleDatas implements IT_UserBattleDatas {
        public data: IT_UserBattleData[];
        public box_sequence: (number|protobuf.Long);
    }

    interface IT_ChatUserData {
        face?: (number|null);
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        grade?: (IT_GradeData|null);
        base_data?: (IT_BaseUserData|null);
    }

    export class T_ChatUserData implements IT_ChatUserData {
        public face: number;
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public grade?: (IT_GradeData|null);
        public base_data?: (IT_BaseUserData|null);
    }

    interface IT_ChatMessageData {
        text?: (string|null);
        form_id?: (number|protobuf.Long|null);
        to_id?: (number|protobuf.Long|null);
        chat_time?: (number|protobuf.Long|null);
        event_id?: (number|null);
    }

    export class T_ChatMessageData implements IT_ChatMessageData {
        public text: string;
        public form_id: (number|protobuf.Long);
        public to_id: (number|protobuf.Long);
        public chat_time: (number|protobuf.Long);
        public event_id: number;
    }

    interface IT_FriendChatData {
        message_id?: (number|protobuf.Long|null);
        chat_time?: (number|protobuf.Long|null);
    }

    export class T_FriendChatData implements IT_FriendChatData {
        public message_id: (number|protobuf.Long);
        public chat_time: (number|protobuf.Long);
    }

    interface IT_FriendChatDatas {
        data?: (IT_FriendChatData[]|null);
    }

    export class T_FriendChatDatas implements IT_FriendChatDatas {
        public data: IT_FriendChatData[];
    }

    interface IT_UserMaiItemData {
        mail_id?: (number|protobuf.Long|null);
        mail_type?: (number|null);
        title?: (string|null);
        text?: (string|null);
        read?: (boolean|null);
        time?: (number|protobuf.Long|null);
        base_data?: (IT_BaseUserData|null);
        item?: (IT_ItemData[]|null);
    }

    export class T_UserMaiItemData implements IT_UserMaiItemData {
        public mail_id: (number|protobuf.Long);
        public mail_type: number;
        public title: string;
        public text: string;
        public read: boolean;
        public time: (number|protobuf.Long);
        public base_data?: (IT_BaseUserData|null);
        public item: IT_ItemData[];
    }

    interface IT_InviteTaskData {
        task_type?: (number|protobuf.Long|null);
        task_val?: (number|protobuf.Long|null);
    }

    export class T_InviteTaskData implements IT_InviteTaskData {
        public task_type: (number|protobuf.Long);
        public task_val: (number|protobuf.Long);
    }

    interface IT_InviteShowData {
        invite?: (boolean|null);
        user_id?: (number|protobuf.Long|null);
        finish_task?: ((number|protobuf.Long)[]|null);
        got_task?: ((number|protobuf.Long)[]|null);
        tasks?: (IT_InviteTaskData[]|null);
    }

    export class T_InviteShowData implements IT_InviteShowData {
        public invite: boolean;
        public user_id: (number|protobuf.Long);
        public finish_task: (number|protobuf.Long)[];
        public got_task: (number|protobuf.Long)[];
        public tasks: IT_InviteTaskData[];
    }

    enum InviteTaskType {
        Invited = 1,
        LevelUp = 2,
        GradeUp = 3
    }

    interface IT_InviteData {
        user_id?: (number|protobuf.Long|null);
        got_tasks?: ((number|protobuf.Long)[]|null);
        finish_tasks?: ((number|protobuf.Long)[]|null);
        task_id?: (number|protobuf.Long|null);
        time_stamp?: (number|protobuf.Long|null);
        finish_task?: (number|protobuf.Long|null);
    }

    export class T_InviteData implements IT_InviteData {
        public user_id: (number|protobuf.Long);
        public got_tasks: (number|protobuf.Long)[];
        public finish_tasks: (number|protobuf.Long)[];
        public task_id: (number|protobuf.Long);
        public time_stamp: (number|protobuf.Long);
        public finish_task: (number|protobuf.Long);
    }

    interface IT_InviteUserData {
        inviter?: (IT_InviteData|null);
        invitee?: (IT_InviteData[]|null);
    }

    export class T_InviteUserData implements IT_InviteUserData {
        public inviter?: (IT_InviteData|null);
        public invitee: IT_InviteData[];
    }

    interface IT_ExpandBaseUserData {
        base_data?: (IT_BaseUserData|null);
        robot?: (boolean|null);
        double_confirm_state?: (boolean|null);
        team_match_time?: (number|protobuf.Long|null);
        light_time?: (number|null);
        setting?: (IT_SystemSetting|null);
        teamab?: (number|null);
        position?: (number|null);
        grade?: (IT_GradeData|null);
        user_gate_id?: (number|null);
        heros?: (IT_HeroData[]|null);
        distance?: (number|null);
        invite_data?: (IT_InviteShowData|null);
        captain?: (number|protobuf.Long|null);
        praise_or_reported?: (boolean|null);
        a_invite_b_success?: (boolean|null);
        obtain_invite_award?: (boolean|null);
        can_obtain_invite_award?: (boolean|null);
        popularity?: (number|protobuf.Long|null);
        total_popularity?: (number|protobuf.Long|null);
        battle_watch_num?: (number|null);
        one_more_game_not_enter?: (boolean|null);
        last_win_or_lost?: (boolean|null);
        match_type?: (number|null);
        move_step?: (number|null);
        score?: (number|null);
        one_round_hang_count?: (number|null);
        suicide_by_drown?: (number|null);
        hanging_game_time?: (number|protobuf.Long|null);
        hanging_game_count?: (number|null);
        not_confirm_time?: (number|protobuf.Long|null);
    }

    export class T_ExpandBaseUserData implements IT_ExpandBaseUserData {
        public base_data?: (IT_BaseUserData|null);
        public robot: boolean;
        public double_confirm_state: boolean;
        public team_match_time: (number|protobuf.Long);
        public light_time: number;
        public setting?: (IT_SystemSetting|null);
        public teamab: number;
        public position: number;
        public grade?: (IT_GradeData|null);
        public user_gate_id: number;
        public heros: IT_HeroData[];
        public distance: number;
        public invite_data?: (IT_InviteShowData|null);
        public captain: (number|protobuf.Long);
        public praise_or_reported: boolean;
        public a_invite_b_success: boolean;
        public obtain_invite_award: boolean;
        public can_obtain_invite_award: boolean;
        public popularity: (number|protobuf.Long);
        public total_popularity: (number|protobuf.Long);
        public battle_watch_num: number;
        public one_more_game_not_enter: boolean;
        public last_win_or_lost: boolean;
        public match_type: number;
        public move_step: number;
        public score: number;
        public one_round_hang_count: number;
        public suicide_by_drown: number;
        public hanging_game_time: (number|protobuf.Long);
        public hanging_game_count: number;
        public not_confirm_time: (number|protobuf.Long);
    }

    interface IT_UserMaiItemDatas {
        datas?: (IT_UserMaiItemData[]|null);
    }

    export class T_UserMaiItemDatas implements IT_UserMaiItemDatas {
        public datas: IT_UserMaiItemData[];
    }

    interface IT_ExtralSocialUserData {
        new_follow_other?: (boolean|null);
        contact_time?: (number|protobuf.Long|null);
        last_follow_me_num?: (number|protobuf.Long|null);
        nick_name?: (string|null);
        follow_him?: (boolean|null);
    }

    export class T_ExtralSocialUserData implements IT_ExtralSocialUserData {
        public new_follow_other: boolean;
        public contact_time: (number|protobuf.Long);
        public last_follow_me_num: (number|protobuf.Long);
        public nick_name: string;
        public follow_him: boolean;
    }

    interface IT_UserBattleWatchData {
        room_id?: (number|protobuf.Long|null);
        client_match_type?: (number|null);
        viewers_num?: (number|null);
        hero?: (IT_HeroData|null);
    }

    export class T_UserBattleWatchData implements IT_UserBattleWatchData {
        public room_id: (number|protobuf.Long);
        public client_match_type: number;
        public viewers_num: number;
        public hero?: (IT_HeroData|null);
    }

    interface IT_SocialUserData {
        base_data?: (IT_BaseUserData|null);
        grade?: (IT_GradeData|null);
        history_grade?: (IT_GradeData|null);
        recent_news?: (IT_RecentNews|null);
        extral_data?: (IT_ExtralSocialUserData|null);
        sort_extra_data?: (IT_SortListExtraData|null);
        heros?: (IT_HeroData[]|null);
        battle_watch_data?: (IT_UserBattleWatchData|null);
    }

    export class T_SocialUserData implements IT_SocialUserData {
        public base_data?: (IT_BaseUserData|null);
        public grade?: (IT_GradeData|null);
        public history_grade?: (IT_GradeData|null);
        public recent_news?: (IT_RecentNews|null);
        public extral_data?: (IT_ExtralSocialUserData|null);
        public sort_extra_data?: (IT_SortListExtraData|null);
        public heros: IT_HeroData[];
        public battle_watch_data?: (IT_UserBattleWatchData|null);
    }

    interface IT_SimpleUserData {
        name?: (string|null);
        id?: (number|protobuf.Long|null);
    }

    export class T_SimpleUserData implements IT_SimpleUserData {
        public name: string;
        public id: (number|protobuf.Long);
    }

    interface IT_UserNickNameData {
        data?: (IT_SimpleUserData[]|null);
    }

    export class T_UserNickNameData implements IT_UserNickNameData {
        public data: IT_SimpleUserData[];
    }

    interface IT_PhotoData {
        photo_name?: (string|null);
        "private"?: (boolean|null);
        system_check?: (number|null);
    }

    export class T_PhotoData implements IT_PhotoData {
        public photo_name: string;
        public private: boolean;
        public system_check: number;
    }

    interface IT_UserPhotoData {
        user_id?: (number|protobuf.Long|null);
        photo_name?: (string|null);
        human_check?: (number|null);
        check_time?: (number|protobuf.Long|null);
        numth?: (number|protobuf.Long|null);
    }

    export class T_UserPhotoData implements IT_UserPhotoData {
        public user_id: (number|protobuf.Long);
        public photo_name: string;
        public human_check: number;
        public check_time: (number|protobuf.Long);
        public numth: (number|protobuf.Long);
    }

    interface IT_AllUserPhotoData {
        data?: (IT_UserPhotoData[]|null);
    }

    export class T_AllUserPhotoData implements IT_AllUserPhotoData {
        public data: IT_UserPhotoData[];
    }

    interface IT_UserSortListData {
        kill_num?: (number|protobuf.Long|null);
        mvp_num?: (number|protobuf.Long|null);
        fans_num?: (number|protobuf.Long|null);
        love_heart_num?: (number|protobuf.Long|null);
        peak_game_win?: (number|protobuf.Long|null);
        trial?: (number|protobuf.Long|null);
    }

    export class T_UserSortListData implements IT_UserSortListData {
        public kill_num: (number|protobuf.Long);
        public mvp_num: (number|protobuf.Long);
        public fans_num: (number|protobuf.Long);
        public love_heart_num: (number|protobuf.Long);
        public peak_game_win: (number|protobuf.Long);
        public trial: (number|protobuf.Long);
    }

    interface IT_SortListExtraData {
        daily_begin_time?: (number|protobuf.Long|null);
        weekly_begin_time?: (number|protobuf.Long|null);
        game_title?: (boolean|null);
        daily_data?: (IT_UserSortListData|null);
        weekly_data?: (IT_UserSortListData|null);
        forever_data?: (IT_UserSortListData|null);
        love_heart_to_one?: (number|null);
    }

    export class T_SortListExtraData implements IT_SortListExtraData {
        public daily_begin_time: (number|protobuf.Long);
        public weekly_begin_time: (number|protobuf.Long);
        public game_title: boolean;
        public daily_data?: (IT_UserSortListData|null);
        public weekly_data?: (IT_UserSortListData|null);
        public forever_data?: (IT_UserSortListData|null);
        public love_heart_to_one: number;
    }

    interface IT_FeedbackData {
        text?: (string|null);
        problem1st?: (boolean|null);
        problem2nd?: (boolean|null);
        problem3rd?: (boolean|null);
        problem4th?: (boolean|null);
        problem5th?: (boolean|null);
    }

    export class T_FeedbackData implements IT_FeedbackData {
        public text: string;
        public problem1st: boolean;
        public problem2nd: boolean;
        public problem3rd: boolean;
        public problem4th: boolean;
        public problem5th: boolean;
    }

    interface IT_FeedbackDatas {
        datas?: ((number|protobuf.Long)[]|null);
    }

    export class T_FeedbackDatas implements IT_FeedbackDatas {
        public datas: (number|protobuf.Long)[];
    }

    interface IT_AchievementData {
        event_id?: (number|null);
        time?: (number|protobuf.Long|null);
        obtained?: (boolean|null);
        extra_data?: (number|protobuf.Long|null);
    }

    export class T_AchievementData implements IT_AchievementData {
        public event_id: number;
        public time: (number|protobuf.Long);
        public obtained: boolean;
        public extra_data: (number|protobuf.Long);
    }

    interface IT_AllAchievementData {
        data?: (IT_AchievementData[]|null);
    }

    export class T_AllAchievementData implements IT_AllAchievementData {
        public data: IT_AchievementData[];
    }

    interface IT_AchieveEventData {
        event_id?: (number|null);
        finish_time?: (number|protobuf.Long|null);
        obtained?: (boolean|null);
    }

    export class T_AchieveEventData implements IT_AchieveEventData {
        public event_id: number;
        public finish_time: (number|protobuf.Long);
        public obtained: boolean;
    }

    interface IT_AchieveEventDatas {
        achieve_data?: (IT_AchieveEventData[]|null);
        event_type_id?: (number|null);
        current_data?: (number|protobuf.Long|null);
    }

    export class T_AchieveEventDatas implements IT_AchieveEventDatas {
        public achieve_data: IT_AchieveEventData[];
        public event_type_id: number;
        public current_data: (number|protobuf.Long);
    }

    interface IT_AllAchieveEventDatas {
        datas?: (IT_AchieveEventDatas[]|null);
        inited?: (boolean|null);
    }

    export class T_AllAchieveEventDatas implements IT_AllAchieveEventDatas {
        public datas: IT_AchieveEventDatas[];
        public inited: boolean;
    }

    interface IT_AchievementShow {
        event_enum?: (number|null);
        old_value?: (number|protobuf.Long|null);
        new_value?: (number|protobuf.Long|null);
        extra_datas?: ((number|protobuf.Long)[]|null);
        replace?: (number|null);
        param2?: ((number|protobuf.Long)[]|null);
        teamed?: (number|null);
        win?: (number|null);
    }

    export class T_AchievementShow implements IT_AchievementShow {
        public event_enum: number;
        public old_value: (number|protobuf.Long);
        public new_value: (number|protobuf.Long);
        public extra_datas: (number|protobuf.Long)[];
        public replace: number;
        public param2: (number|protobuf.Long)[];
        public teamed: number;
        public win: number;
    }

    interface IT_YesterdaySortGrade {
        sort_list_time?: (number|protobuf.Long|null);
        user_id?: ((number|protobuf.Long)[]|null);
    }

    export class T_YesterdaySortGrade implements IT_YesterdaySortGrade {
        public sort_list_time: (number|protobuf.Long);
        public user_id: (number|protobuf.Long)[];
    }

    interface IT_SystemSetting {
        not_show_battle_data?: (boolean|null);
        no_friend_or_recent_invent?: (boolean|null);
        no_recent_invent?: (boolean|null);
    }

    export class T_SystemSetting implements IT_SystemSetting {
        public not_show_battle_data: boolean;
        public no_friend_or_recent_invent: boolean;
        public no_recent_invent: boolean;
    }

    interface IT_SessionUserState {
        offline?: (boolean|null);
        online?: (boolean|null);
        teaming?: (boolean|null);
        matching?: (boolean|null);
        select_hero?: (boolean|null);
        gaming?: (boolean|null);
        team_not_prepare?: (boolean|null);
        no_friend_or_recent_invent?: (boolean|null);
        no_recent_invent?: (boolean|null);
        view_game?: (boolean|null);
        game_result?: (boolean|null);
        gaming_room_id?: (number|protobuf.Long|null);
    }

    export class T_SessionUserState implements IT_SessionUserState {
        public offline: boolean;
        public online: boolean;
        public teaming: boolean;
        public matching: boolean;
        public select_hero: boolean;
        public gaming: boolean;
        public team_not_prepare: boolean;
        public no_friend_or_recent_invent: boolean;
        public no_recent_invent: boolean;
        public view_game: boolean;
        public game_result: boolean;
        public gaming_room_id: (number|protobuf.Long);
    }

    interface IT_SessionUserIntermediateData {
        intermediate_data?: (boolean|null);
        notify_type?: (number|null);
        no_friend_or_recent_invent?: (boolean|null);
        no_recent_invent?: (boolean|null);
        gaming_room_id?: (number|protobuf.Long|null);
    }

    export class T_SessionUserIntermediateData implements IT_SessionUserIntermediateData {
        public intermediate_data: boolean;
        public notify_type: number;
        public no_friend_or_recent_invent: boolean;
        public no_recent_invent: boolean;
        public gaming_room_id: (number|protobuf.Long);
    }

    interface IT_UserBoxTaskCycle {
        task_cycle?: (number|null);
        condition_win_num?: (number|null);
        current_win_num?: (number|null);
        box_id?: (number|null);
        obtained?: (boolean|null);
    }

    export class T_UserBoxTaskCycle implements IT_UserBoxTaskCycle {
        public task_cycle: number;
        public condition_win_num: number;
        public current_win_num: number;
        public box_id: number;
        public obtained: boolean;
    }

    interface IT_UserBox {
        box_type?: (number|null);
        can_obtain_box_num?: (number|null);
        obtain_box_time?: (number|protobuf.Long|null);
        time_interval?: (number|protobuf.Long|null);
        data?: (IT_UserBoxTaskCycle[]|null);
        extra_task_box?: (number|null);
    }

    export class T_UserBox implements IT_UserBox {
        public box_type: number;
        public can_obtain_box_num: number;
        public obtain_box_time: (number|protobuf.Long);
        public time_interval: (number|protobuf.Long);
        public data: IT_UserBoxTaskCycle[];
        public extra_task_box: number;
    }

    interface IT_UserBoxs {
        box?: (IT_UserBox[]|null);
    }

    export class T_UserBoxs implements IT_UserBoxs {
        public box: IT_UserBox[];
    }

    interface IT_SealData {
        seal_id?: (number|protobuf.Long|null);
        seal_level?: (number|protobuf.Long|null);
        seal_num?: (number|protobuf.Long|null);
        new_seal?: (boolean|null);
    }

    export class T_SealData implements IT_SealData {
        public seal_id: (number|protobuf.Long);
        public seal_level: (number|protobuf.Long);
        public seal_num: (number|protobuf.Long);
        public new_seal: boolean;
    }

    interface IT_SlotData {
        seal_id?: (number|protobuf.Long|null);
    }

    export class T_SlotData implements IT_SlotData {
        public seal_id: (number|protobuf.Long);
    }

    interface IT_SealPage {
        page_id?: (number|protobuf.Long|null);
        slot?: (IT_SlotData[]|null);
        page_name?: (string|null);
    }

    export class T_SealPage implements IT_SealPage {
        public page_id: (number|protobuf.Long);
        public slot: IT_SlotData[];
        public page_name: string;
    }

    interface IT_HeroActiveSeal {
        hero_id?: (number|protobuf.Long|null);
        active_page?: (number|protobuf.Long|null);
    }

    export class T_HeroActiveSeal implements IT_HeroActiveSeal {
        public hero_id: (number|protobuf.Long);
        public active_page: (number|protobuf.Long);
    }

    interface IT_SealPack {
        seals?: (IT_SealData[]|null);
        pages?: (IT_SealPage[]|null);
        active_page?: (number|protobuf.Long|null);
        hero?: (IT_HeroActiveSeal[]|null);
        seal_piece?: (number|protobuf.Long|null);
        open_slot?: (number|protobuf.Long|null);
        tujian_level?: (number|protobuf.Long|null);
        tujian_exp?: (number|protobuf.Long|null);
    }

    export class T_SealPack implements IT_SealPack {
        public seals: IT_SealData[];
        public pages: IT_SealPage[];
        public active_page: (number|protobuf.Long);
        public hero: IT_HeroActiveSeal[];
        public seal_piece: (number|protobuf.Long);
        public open_slot: (number|protobuf.Long);
        public tujian_level: (number|protobuf.Long);
        public tujian_exp: (number|protobuf.Long);
    }

    interface IT_TargetEventValue {
        event_enum?: (number|null);
        old_value?: (number|protobuf.Long|null);
        new_value?: (number|protobuf.Long|null);
        extra_datas?: ((number|protobuf.Long)[]|null);
        replace?: (number|null);
        param2?: ((number|protobuf.Long)[]|null);
        teamed?: (number|null);
        win?: (number|null);
    }

    export class T_TargetEventValue implements IT_TargetEventValue {
        public event_enum: number;
        public old_value: (number|protobuf.Long);
        public new_value: (number|protobuf.Long);
        public extra_datas: (number|protobuf.Long)[];
        public replace: number;
        public param2: (number|protobuf.Long)[];
        public teamed: number;
        public win: number;
    }

    interface IT_SevenDayLoginAward {
        day?: (number|null);
        item?: (IT_ItemData[]|null);
        obtained?: (boolean|null);
        finished?: (boolean|null);
        icon?: (string|null);
        show_name?: (string|null);
    }

    export class T_SevenDayLoginAward implements IT_SevenDayLoginAward {
        public day: number;
        public item: IT_ItemData[];
        public obtained: boolean;
        public finished: boolean;
        public icon: string;
        public show_name: string;
    }

    interface IT_SevenDayLoginAwards {
        data?: (IT_SevenDayLoginAward[]|null);
        seven_days_add_time?: (number|protobuf.Long|null);
    }

    export class T_SevenDayLoginAwards implements IT_SevenDayLoginAwards {
        public data: IT_SevenDayLoginAward[];
        public seven_days_add_time: (number|protobuf.Long);
    }

    interface IT_ShortLink {
        last_obtain_time?: (number|protobuf.Long|null);
        data?: (IT_ItemData[]|null);
        obtained_num?: (number|null);
        max_obtain_num?: (number|null);
        history_obatained_count?: (number|null);
    }

    export class T_ShortLink implements IT_ShortLink {
        public last_obtain_time: (number|protobuf.Long);
        public data: IT_ItemData[];
        public obtained_num: number;
        public max_obtain_num: number;
        public history_obatained_count: number;
    }

    interface IT_LoginDay {
        day?: (number|null);
        checked?: (boolean|null);
        obtained?: (boolean|null);
        item?: (IT_ItemData[]|null);
        icon?: (string|null);
        show_name?: (string|null);
        day_type?: (number|null);
        unique_id?: (number|protobuf.Long|null);
    }

    export class T_LoginDay implements IT_LoginDay {
        public day: number;
        public checked: boolean;
        public obtained: boolean;
        public item: IT_ItemData[];
        public icon: string;
        public show_name: string;
        public day_type: number;
        public unique_id: (number|protobuf.Long);
    }

    interface IT_LoginDays {
        year?: (number|null);
        month?: (number|null);
        days?: (IT_LoginDay[]|null);
        day?: (number|null);
        login_days?: (number|null);
        today_checked?: (boolean|null);
        checked_time?: (number|protobuf.Long|null);
        zero_online?: (boolean|null);
    }

    export class T_LoginDays implements IT_LoginDays {
        public year: number;
        public month: number;
        public days: IT_LoginDay[];
        public day: number;
        public login_days: number;
        public today_checked: boolean;
        public checked_time: (number|protobuf.Long);
        public zero_online: boolean;
    }

    interface IT_WeeklyMoneyLimit {
        weekly_money_gold?: (number|null);
        weekly_money_diamond?: (number|null);
        weekly_common_piece?: (number|null);
        weekly_seal?: (number|null);
        weekly_exp?: (number|null);
        week_monday_zero_time?: (number|protobuf.Long|null);
    }

    export class T_WeeklyMoneyLimit implements IT_WeeklyMoneyLimit {
        public weekly_money_gold: number;
        public weekly_money_diamond: number;
        public weekly_common_piece: number;
        public weekly_seal: number;
        public weekly_exp: number;
        public week_monday_zero_time: (number|protobuf.Long);
    }

    interface IT_SocialProfileData {
        be_praised_num?: (number|null);
        reputation?: (number|null);
        be_reported_num?: (number|null);
        reputation_score?: (number|null);
        reputation_level?: (number|null);
        be_praised_by_stranger?: (number|null);
        obtain_award_time?: (number|protobuf.Long|null);
        be_reported_num_once?: (number|null);
    }

    export class T_SocialProfileData implements IT_SocialProfileData {
        public be_praised_num: number;
        public reputation: number;
        public be_reported_num: number;
        public reputation_score: number;
        public reputation_level: number;
        public be_praised_by_stranger: number;
        public obtain_award_time: (number|protobuf.Long);
        public be_reported_num_once: number;
    }

    interface IT_OneHeroMessageData {
        hero_id?: (number|protobuf.Long|null);
        msg_id?: ((number|protobuf.Long)[]|null);
    }

    export class T_OneHeroMessageData implements IT_OneHeroMessageData {
        public hero_id: (number|protobuf.Long);
        public msg_id: (number|protobuf.Long)[];
    }

    interface IT_HeroMessageData {
        heros?: (IT_OneHeroMessageData[]|null);
    }

    export class T_HeroMessageData implements IT_HeroMessageData {
        public heros: IT_OneHeroMessageData[];
    }

    interface IT_DailyTaskData {
        task_id?: (number|protobuf.Long|null);
        obtain_task_time?: (number|protobuf.Long|null);
        num?: (number|null);
        finished?: (boolean|null);
        obtained?: (boolean|null);
        finished_num?: (number|null);
        obtain_award_time?: (number|protobuf.Long|null);
        task_group?: (number|null);
        level?: (number|null);
        is_next_task?: (boolean|null);
    }

    export class T_DailyTaskData implements IT_DailyTaskData {
        public task_id: (number|protobuf.Long);
        public obtain_task_time: (number|protobuf.Long);
        public num: number;
        public finished: boolean;
        public obtained: boolean;
        public finished_num: number;
        public obtain_award_time: (number|protobuf.Long);
        public task_group: number;
        public level: number;
        public is_next_task: boolean;
    }

    interface IT_DailyTaskDatas {
        data?: (IT_DailyTaskData[]|null);
        refresh_task_num?: (number|null);
        refresh_task_time?: (number|protobuf.Long|null);
        last_add_daily_task_time?: (number|protobuf.Long|null);
        welfare?: (IT_DailyTaskData|null);
        max_refresh_num?: (number|null);
        is_daily_welfare_time?: (boolean|null);
        team_data?: (IT_DailyTaskData[]|null);
        refresh_team_task_time?: (number|protobuf.Long|null);
    }

    export class T_DailyTaskDatas implements IT_DailyTaskDatas {
        public data: IT_DailyTaskData[];
        public refresh_task_num: number;
        public refresh_task_time: (number|protobuf.Long);
        public last_add_daily_task_time: (number|protobuf.Long);
        public welfare?: (IT_DailyTaskData|null);
        public max_refresh_num: number;
        public is_daily_welfare_time: boolean;
        public team_data: IT_DailyTaskData[];
        public refresh_team_task_time: (number|protobuf.Long);
    }

    interface IT_UserDefinedTaskData {
        task_data?: (IT_DailyTaskData[]|null);
        user_defined_task_id?: (number|null);
        open_time?: (number|protobuf.Long|null);
        close_time?: (number|protobuf.Long|null);
        special_open_time?: (number|protobuf.Long|null);
        special_close_time?: (number|protobuf.Long|null);
    }

    export class T_UserDefinedTaskData implements IT_UserDefinedTaskData {
        public task_data: IT_DailyTaskData[];
        public user_defined_task_id: number;
        public open_time: (number|protobuf.Long);
        public close_time: (number|protobuf.Long);
        public special_open_time: (number|protobuf.Long);
        public special_close_time: (number|protobuf.Long);
    }

    interface IT_UserDefinedTaskDatas {
        all_task_data?: (IT_UserDefinedTaskData[]|null);
        refresh_user_defined_task_time?: (number|protobuf.Long|null);
    }

    export class T_UserDefinedTaskDatas implements IT_UserDefinedTaskDatas {
        public all_task_data: IT_UserDefinedTaskData[];
        public refresh_user_defined_task_time: (number|protobuf.Long);
    }

    interface IT_UserDefinedTaskRedPoint {
        task_id?: (number|null);
        red_point?: (boolean|null);
    }

    export class T_UserDefinedTaskRedPoint implements IT_UserDefinedTaskRedPoint {
        public task_id: number;
        public red_point: boolean;
    }

    interface IT_UserDailyActivityDatas {
        task_data?: (IT_DailyTaskData[]|null);
        activity?: (IT_UserDailyActivity|null);
    }

    export class T_UserDailyActivityDatas implements IT_UserDailyActivityDatas {
        public task_data: IT_DailyTaskData[];
        public activity?: (IT_UserDailyActivity|null);
    }

    interface IT_UserActivityInfo {
        num?: (number|null);
        finished?: (boolean|null);
        obtained?: (boolean|null);
        item?: (IT_ItemData[]|null);
    }

    export class T_UserActivityInfo implements IT_UserActivityInfo {
        public num: number;
        public finished: boolean;
        public obtained: boolean;
        public item: IT_ItemData[];
    }

    interface IT_UserDailyActivity {
        daily_activity?: (number|null);
        refresh_time?: (number|protobuf.Long|null);
        weekly_activity?: (number|null);
        weekly_refresh_time?: (number|protobuf.Long|null);
        daily_avtivity_award?: (IT_UserActivityInfo[]|null);
        weekly_activity_award?: (IT_UserActivityInfo[]|null);
    }

    export class T_UserDailyActivity implements IT_UserDailyActivity {
        public daily_activity: number;
        public refresh_time: (number|protobuf.Long);
        public weekly_activity: number;
        public weekly_refresh_time: (number|protobuf.Long);
        public daily_avtivity_award: IT_UserActivityInfo[];
        public weekly_activity_award: IT_UserActivityInfo[];
    }

    interface IT_ShopData {
        shop_id?: (number|protobuf.Long|null);
        shop_type?: (number|null);
        item_id?: (number|protobuf.Long|null);
        item_num?: (number|protobuf.Long|null);
        today_buy_num?: (number|null);
        gold_price?: (number|null);
        diamond_price?: (number|null);
        max_buy_num?: (number|null);
        link_id?: (number|null);
        goods?: (IT_RechargeGoods|null);
        discount?: (number|protobuf.Long|null);
        box_id?: (number|protobuf.Long|null);
        display?: (boolean|null);
    }

    export class T_ShopData implements IT_ShopData {
        public shop_id: (number|protobuf.Long);
        public shop_type: number;
        public item_id: (number|protobuf.Long);
        public item_num: (number|protobuf.Long);
        public today_buy_num: number;
        public gold_price: number;
        public diamond_price: number;
        public max_buy_num: number;
        public link_id: number;
        public goods?: (IT_RechargeGoods|null);
        public discount: (number|protobuf.Long);
        public box_id: (number|protobuf.Long);
        public display: boolean;
    }

    interface IT_ShopTreasureData {
        weekly_count?: (number|null);
        weekly_accu_num?: (number[]|null);
        history_count?: (number|null);
        one_price?: (number|null);
        five_price?: (number|null);
        obtain_free_num?: (number|null);
        max_free_num?: (number|null);
        obtain_time?: (number|protobuf.Long|null);
        period_of_time?: (number|protobuf.Long|null);
        notified?: (boolean|null);
    }

    export class T_ShopTreasureData implements IT_ShopTreasureData {
        public weekly_count: number;
        public weekly_accu_num: number[];
        public history_count: number;
        public one_price: number;
        public five_price: number;
        public obtain_free_num: number;
        public max_free_num: number;
        public obtain_time: (number|protobuf.Long);
        public period_of_time: (number|protobuf.Long);
        public notified: boolean;
    }

    interface IT_ShopDatas {
        data?: (IT_ShopData[]|null);
        refresh_shop_time?: (number|protobuf.Long|null);
        remain_time?: (number|protobuf.Long|null);
        weekly_refresh_time?: (number|protobuf.Long|null);
        weekly_count?: (number|null);
        weekly_accu_num?: (number[]|null);
        history_count?: (number|null);
        shop_treasure_data?: (IT_ShopTreasureData|null);
        shop_diamond_treasure_data?: (IT_ShopTreasureData|null);
        first?: (boolean|null);
    }

    export class T_ShopDatas implements IT_ShopDatas {
        public data: IT_ShopData[];
        public refresh_shop_time: (number|protobuf.Long);
        public remain_time: (number|protobuf.Long);
        public weekly_refresh_time: (number|protobuf.Long);
        public weekly_count: number;
        public weekly_accu_num: number[];
        public history_count: number;
        public shop_treasure_data?: (IT_ShopTreasureData|null);
        public shop_diamond_treasure_data?: (IT_ShopTreasureData|null);
        public first: boolean;
    }

    interface IT_GMCommandData {
        key?: (string|null);
        param?: (string|null);
    }

    export class T_GMCommandData implements IT_GMCommandData {
        public key: string;
        public param: string;
    }

    interface IT_HeroPrice {
        hero_id?: (number|protobuf.Long|null);
        item_id?: (number|protobuf.Long|null);
        gold_price?: (number|null);
        diamond_price?: (number|null);
    }

    export class T_HeroPrice implements IT_HeroPrice {
        public hero_id: (number|protobuf.Long);
        public item_id: (number|protobuf.Long);
        public gold_price: number;
        public diamond_price: number;
    }

    interface IT_PhoneUser {
        phone?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        award?: (boolean|null);
    }

    export class T_PhoneUser implements IT_PhoneUser {
        public phone: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public award: boolean;
    }

    interface IT_PhoneUsers {
        data?: (IT_PhoneUser[]|null);
    }

    export class T_PhoneUsers implements IT_PhoneUsers {
        public data: IT_PhoneUser[];
    }

    interface IT_HeroFreeData {
        hero_free_numth?: (number|null);
        hero_free_time?: (number|protobuf.Long|null);
    }

    export class T_HeroFreeData implements IT_HeroFreeData {
        public hero_free_numth: number;
        public hero_free_time: (number|protobuf.Long);
    }

    interface IT_ClientBug {
        record_str?: (string|null);
        skill_guide?: (number|null);
        new_beginner_step?: (number|null);
        new_beginner_game_count?: (number|null);
        go_wrong?: (boolean|null);
        saved_profile?: (boolean|null);
        go_wrong_time?: (number|protobuf.Long|null);
    }

    export class T_ClientBug implements IT_ClientBug {
        public record_str: string;
        public skill_guide: number;
        public new_beginner_step: number;
        public new_beginner_game_count: number;
        public go_wrong: boolean;
        public saved_profile: boolean;
        public go_wrong_time: (number|protobuf.Long);
    }

    interface IT_LevelAwardData {
        level?: (number|null);
        obtained?: (boolean|null);
    }

    export class T_LevelAwardData implements IT_LevelAwardData {
        public level: number;
        public obtained: boolean;
    }

    interface IT_GrowthHistoryDatas {
        data?: (IT_DailyTaskData[]|null);
        inited?: (boolean|null);
        level_award?: (IT_LevelAwardData[]|null);
    }

    export class T_GrowthHistoryDatas implements IT_GrowthHistoryDatas {
        public data: IT_DailyTaskData[];
        public inited: boolean;
        public level_award: IT_LevelAwardData[];
    }

    interface IT_RoomVideoPlayAndPraiseCountData {
        play_count?: (number|null);
        praise_count?: (number|null);
        message_count?: (number|null);
        room_id?: (number|protobuf.Long|null);
        is_praised?: (boolean|null);
        today_zero_time?: (number|protobuf.Long|null);
        hot_value?: (number|null);
    }

    export class T_RoomVideoPlayAndPraiseCountData implements IT_RoomVideoPlayAndPraiseCountData {
        public play_count: number;
        public praise_count: number;
        public message_count: number;
        public room_id: (number|protobuf.Long);
        public is_praised: boolean;
        public today_zero_time: (number|protobuf.Long);
        public hot_value: number;
    }

    interface IT_RoomVideoMessageData {
        user_id?: (number|protobuf.Long|null);
        video_message?: (string|null);
        occur_time?: (number|protobuf.Long|null);
        user_name?: (string|null);
        base_data?: (IT_BaseUserData|null);
        grade_data?: (IT_GradeData|null);
    }

    export class T_RoomVideoMessageData implements IT_RoomVideoMessageData {
        public user_id: (number|protobuf.Long);
        public video_message: string;
        public occur_time: (number|protobuf.Long);
        public user_name: string;
        public base_data?: (IT_BaseUserData|null);
        public grade_data?: (IT_GradeData|null);
    }

    interface IT_RoomVideoMessageDatas {
        datas?: (IT_RoomVideoMessageData[]|null);
    }

    export class T_RoomVideoMessageDatas implements IT_RoomVideoMessageDatas {
        public datas: IT_RoomVideoMessageData[];
    }

    interface IT_RoomVideoDatas {
        room_data?: (IT_GameResultData|null);
        message_data?: (IT_RoomVideoMessageDatas|null);
        count_data?: (IT_RoomVideoPlayAndPraiseCountData|null);
    }

    export class T_RoomVideoDatas implements IT_RoomVideoDatas {
        public room_data?: (IT_GameResultData|null);
        public message_data?: (IT_RoomVideoMessageDatas|null);
        public count_data?: (IT_RoomVideoPlayAndPraiseCountData|null);
    }

    interface IT_ExchangeShopData {
        shop_exchange_id?: (number|protobuf.Long|null);
        exchange_num?: (number|null);
        exchange_remind?: (boolean|null);
    }

    export class T_ExchangeShopData implements IT_ExchangeShopData {
        public shop_exchange_id: (number|protobuf.Long);
        public exchange_num: number;
        public exchange_remind: boolean;
    }

    interface IT_ExchangeShopDatas {
        shop_start_time?: (number|protobuf.Long|null);
        exchange_data?: (IT_ExchangeShopData[]|null);
        activity_id?: (number|protobuf.Long|null);
    }

    export class T_ExchangeShopDatas implements IT_ExchangeShopDatas {
        public shop_start_time: (number|protobuf.Long);
        public exchange_data: IT_ExchangeShopData[];
        public activity_id: (number|protobuf.Long);
    }

    interface IT_AllExchangeShopDatas {
        all_shop?: (IT_ExchangeShopDatas[]|null);
    }

    export class T_AllExchangeShopDatas implements IT_AllExchangeShopDatas {
        public all_shop: IT_ExchangeShopDatas[];
    }

    interface IT_GameEndUserData {
        unique_id?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        team?: (number|protobuf.Long|null);
        ass_kill_count?: (number|protobuf.Long|null);
        kill_count?: (number|protobuf.Long|null);
        damage?: (number|protobuf.Long|null);
        death_count?: (number|protobuf.Long|null);
        score?: (number|null);
        mvp?: (boolean|null);
        items?: (IT_ItemData[]|null);
        old_grade?: (IT_GradeData|null);
        new_grade?: (IT_GradeData|null);
        continue_win_add_brave?: (number|protobuf.Long|null);
        game_rank_add_brave?: (number|protobuf.Long|null);
        no_hang_add_brave?: (number|protobuf.Long|null);
        grade_change?: (number|null);
        hero_id?: (number|null);
        skin_id?: (number|null);
        not_move_round?: (number|null);
        loc?: (number|protobuf.Long|null);
        base_data?: (IT_BaseUserData|null);
        buffer_point?: (number|null);
        move_step?: (number|null);
    }

    export class T_GameEndUserData implements IT_GameEndUserData {
        public unique_id: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public team: (number|protobuf.Long);
        public ass_kill_count: (number|protobuf.Long);
        public kill_count: (number|protobuf.Long);
        public damage: (number|protobuf.Long);
        public death_count: (number|protobuf.Long);
        public score: number;
        public mvp: boolean;
        public items: IT_ItemData[];
        public old_grade?: (IT_GradeData|null);
        public new_grade?: (IT_GradeData|null);
        public continue_win_add_brave: (number|protobuf.Long);
        public game_rank_add_brave: (number|protobuf.Long);
        public no_hang_add_brave: (number|protobuf.Long);
        public grade_change: number;
        public hero_id: number;
        public skin_id: number;
        public not_move_round: number;
        public loc: (number|protobuf.Long);
        public base_data?: (IT_BaseUserData|null);
        public buffer_point: number;
        public move_step: number;
    }

    interface IT_GameEndGameData {
        win_team?: (number|null);
        score_a?: (number|protobuf.Long|null);
        score_b?: (number|protobuf.Long|null);
        unique_id?: (number|protobuf.Long|null);
        battle_data_type?: (number|null);
        game_id?: (number|protobuf.Long|null);
        game_kind?: (number|protobuf.Long|null);
        game_start_time?: (number|protobuf.Long|null);
        game_end_time?: (number|protobuf.Long|null);
        match_type?: (number|null);
        need_record?: (boolean|null);
        game_name?: (string|null);
        one_more_game?: (boolean|null);
        end_game_level?: (number|protobuf.Long|null);
    }

    export class T_GameEndGameData implements IT_GameEndGameData {
        public win_team: number;
        public score_a: (number|protobuf.Long);
        public score_b: (number|protobuf.Long);
        public unique_id: (number|protobuf.Long);
        public battle_data_type: number;
        public game_id: (number|protobuf.Long);
        public game_kind: (number|protobuf.Long);
        public game_start_time: (number|protobuf.Long);
        public game_end_time: (number|protobuf.Long);
        public match_type: number;
        public need_record: boolean;
        public game_name: string;
        public one_more_game: boolean;
        public end_game_level: (number|protobuf.Long);
    }

    interface IT_GameResultData {
        user_datas?: (IT_GameEndUserData[]|null);
        game_datas?: (IT_GameEndGameData|null);
    }

    export class T_GameResultData implements IT_GameResultData {
        public user_datas: IT_GameEndUserData[];
        public game_datas?: (IT_GameEndGameData|null);
    }

    interface IT_NoInviteInServalTimes {
        user_id?: (number|protobuf.Long|null);
        occur_time?: (number|protobuf.Long|null);
    }

    export class T_NoInviteInServalTimes implements IT_NoInviteInServalTimes {
        public user_id: (number|protobuf.Long);
        public occur_time: (number|protobuf.Long);
    }

    interface IT_LoveHeartData {
        user_id?: (number|protobuf.Long|null);
        love_heart_num?: (number|null);
    }

    export class T_LoveHeartData implements IT_LoveHeartData {
        public user_id: (number|protobuf.Long);
        public love_heart_num: number;
    }

    interface IT_LoveHeartDatas {
        love_heart?: (IT_LoveHeartData[]|null);
    }

    export class T_LoveHeartDatas implements IT_LoveHeartDatas {
        public love_heart: IT_LoveHeartData[];
    }

    interface IT_PhotoPraiseData {
        photo_name?: (string|null);
        user_id?: (number|protobuf.Long|null);
        is_praised?: (boolean|null);
        praised_num?: (number|null);
    }

    export class T_PhotoPraiseData implements IT_PhotoPraiseData {
        public photo_name: string;
        public user_id: (number|protobuf.Long);
        public is_praised: boolean;
        public praised_num: number;
    }

    interface IT_PhotoPraiseDatas {
        photo_data?: (IT_PhotoPraiseData[]|null);
    }

    export class T_PhotoPraiseDatas implements IT_PhotoPraiseDatas {
        public photo_data: IT_PhotoPraiseData[];
    }

    interface IT_ViewerGiveLoveHeart {
        viewer_id?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        time?: (number|protobuf.Long|null);
        praise_count?: (number|null);
        user_name?: (string|null);
        grade?: (number|protobuf.Long|null);
        face?: (number|null);
        photo?: (string|null);
        viewer_name?: (string|null);
        init_time?: (number|protobuf.Long|null);
    }

    export class T_ViewerGiveLoveHeart implements IT_ViewerGiveLoveHeart {
        public viewer_id: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public time: (number|protobuf.Long);
        public praise_count: number;
        public user_name: string;
        public grade: (number|protobuf.Long);
        public face: number;
        public photo: string;
        public viewer_name: string;
        public init_time: (number|protobuf.Long);
    }

    interface IT_ViewerGiveLoveHearts {
        data?: (IT_ViewerGiveLoveHeart[]|null);
    }

    export class T_ViewerGiveLoveHearts implements IT_ViewerGiveLoveHearts {
        public data: IT_ViewerGiveLoveHeart[];
    }

    interface IT_LadderMatchData {
        min_match_type?: (number|null);
        loop_num?: (number|null);
        extra_loop_num?: (number|null);
    }

    export class T_LadderMatchData implements IT_LadderMatchData {
        public min_match_type: number;
        public loop_num: number;
        public extra_loop_num: number;
    }

    interface IT_EnableMatchTime {
        client_match_type?: (number|null);
        enable_time?: (string|null);
    }

    export class T_EnableMatchTime implements IT_EnableMatchTime {
        public client_match_type: number;
        public enable_time: string;
    }

    interface IT_GradeAward {
        grade?: (number|protobuf.Long|null);
        obtained?: (boolean|null);
    }

    export class T_GradeAward implements IT_GradeAward {
        public grade: (number|protobuf.Long);
        public obtained: boolean;
    }

    interface IT_GradeAwards {
        ladder_win_num?: (number|null);
        data?: (IT_GradeAward[]|null);
    }

    export class T_GradeAwards implements IT_GradeAwards {
        public ladder_win_num: number;
        public data: IT_GradeAward[];
    }

    interface IT_EntertainmentMatchTypeData {
        match_type_numth?: (number|null);
        all_match_type?: (number|null);
        match_type_time?: (number|protobuf.Long|null);
    }

    export class T_EntertainmentMatchTypeData implements IT_EntertainmentMatchTypeData {
        public match_type_numth: number;
        public all_match_type: number;
        public match_type_time: (number|protobuf.Long);
    }

    interface IT_PhotoBorderData {
        border_id?: (number|protobuf.Long|null);
        unlock?: (boolean|null);
    }

    export class T_PhotoBorderData implements IT_PhotoBorderData {
        public border_id: (number|protobuf.Long);
        public unlock: boolean;
    }

    interface IT_PhotoBorderDatas {
        data?: (IT_PhotoBorderData[]|null);
        red_point?: (boolean|null);
        new_border_id?: (number|protobuf.Long|null);
    }

    export class T_PhotoBorderDatas implements IT_PhotoBorderDatas {
        public data: IT_PhotoBorderData[];
        public red_point: boolean;
        public new_border_id: (number|protobuf.Long);
    }

    interface IT_RechargeItem {
        id?: (number|protobuf.Long|null);
        num?: (number|protobuf.Long|null);
    }

    export class T_RechargeItem implements IT_RechargeItem {
        public id: (number|protobuf.Long);
        public num: (number|protobuf.Long);
    }

    interface IT_RechargeGoods {
        id?: (number|protobuf.Long|null);
        name?: (string|null);
        first_Charge?: (boolean|null);
        diamond?: (number|protobuf.Long|null);
        diamond_addition?: (number|protobuf.Long|null);
        rmb?: (number|protobuf.Long|null);
        day_limit?: (number|protobuf.Long|null);
        day_recharge?: (number|protobuf.Long|null);
        speical_ids?: ((number|protobuf.Long)[]|null);
        first_charge_addition?: (number|protobuf.Long|null);
    }

    export class T_RechargeGoods implements IT_RechargeGoods {
        public id: (number|protobuf.Long);
        public name: string;
        public first_Charge: boolean;
        public diamond: (number|protobuf.Long);
        public diamond_addition: (number|protobuf.Long);
        public rmb: (number|protobuf.Long);
        public day_limit: (number|protobuf.Long);
        public day_recharge: (number|protobuf.Long);
        public speical_ids: (number|protobuf.Long)[];
        public first_charge_addition: (number|protobuf.Long);
    }

    interface IT_RechargeSpeicalGoods {
        id?: (number|protobuf.Long|null);
        items?: (IT_RechargeItem[]|null);
        time_from?: (number|protobuf.Long|null);
        time_end?: (number|protobuf.Long|null);
        day_limit?: (number|protobuf.Long|null);
        day_recharge?: (number|protobuf.Long|null);
        desc?: (string|null);
    }

    export class T_RechargeSpeicalGoods implements IT_RechargeSpeicalGoods {
        public id: (number|protobuf.Long);
        public items: IT_RechargeItem[];
        public time_from: (number|protobuf.Long);
        public time_end: (number|protobuf.Long);
        public day_limit: (number|protobuf.Long);
        public day_recharge: (number|protobuf.Long);
        public desc: string;
    }

    interface IT_EventItemData {
        event_id?: (number|protobuf.Long|null);
        item?: (IT_ItemData|null);
    }

    export class T_EventItemData implements IT_EventItemData {
        public event_id: (number|protobuf.Long);
        public item?: (IT_ItemData|null);
    }

    interface IT_TraningDataItem {
        training_id?: (number|protobuf.Long|null);
        pass_reward?: (boolean|null);
        star_count?: (number|protobuf.Long|null);
    }

    export class T_TraningDataItem implements IT_TraningDataItem {
        public training_id: (number|protobuf.Long);
        public pass_reward: boolean;
        public star_count: (number|protobuf.Long);
    }

    interface IT_TraningStarReward {
        has_reward?: (boolean|null);
        reward_id?: (number|protobuf.Long|null);
    }

    export class T_TraningStarReward implements IT_TraningStarReward {
        public has_reward: boolean;
        public reward_id: (number|protobuf.Long);
    }

    interface IT_TraningData {
        training?: (IT_TraningDataItem[]|null);
        star_reward?: (IT_TraningStarReward[]|null);
    }

    export class T_TraningData implements IT_TraningData {
        public training: IT_TraningDataItem[];
        public star_reward: IT_TraningStarReward[];
    }

    interface IT_TrialDataItem {
        trial_id?: (number|protobuf.Long|null);
        pass_reward?: (boolean|null);
    }

    export class T_TrialDataItem implements IT_TrialDataItem {
        public trial_id: (number|protobuf.Long);
        public pass_reward: boolean;
    }

    interface IT_TrialDataHero {
        hero?: (number|protobuf.Long|null);
        card?: (number|protobuf.Long|null);
    }

    export class T_TrialDataHero implements IT_TrialDataHero {
        public hero: (number|protobuf.Long);
        public card: (number|protobuf.Long);
    }

    interface IT_TrialData {
        trail?: (IT_TrialDataItem[]|null);
        time_stamp?: (number|protobuf.Long|null);
        sweep_all?: (boolean|null);
        hero_1?: (IT_TrialDataHero|null);
        hero_2?: (IT_TrialDataHero|null);
        hero_3?: (IT_TrialDataHero|null);
        hero_4?: (IT_TrialDataHero|null);
        last_trial?: (number|protobuf.Long|null);
    }

    export class T_TrialData implements IT_TrialData {
        public trail: IT_TrialDataItem[];
        public time_stamp: (number|protobuf.Long);
        public sweep_all: boolean;
        public hero_1?: (IT_TrialDataHero|null);
        public hero_2?: (IT_TrialDataHero|null);
        public hero_3?: (IT_TrialDataHero|null);
        public hero_4?: (IT_TrialDataHero|null);
        public last_trial: (number|protobuf.Long);
    }

    interface IT_VipLevelAwardData {
        vip_level?: (number|null);
        awarded?: (boolean|null);
    }

    export class T_VipLevelAwardData implements IT_VipLevelAwardData {
        public vip_level: number;
        public awarded: boolean;
    }

    interface IT_MonthlyCardData {
        money_num?: (number|null);
        effective_time_start?: (number|protobuf.Long|null);
        obtained_time?: (number|protobuf.Long|null);
        valid_days?: (number|null);
        effective_time_end?: (number|protobuf.Long|null);
    }

    export class T_MonthlyCardData implements IT_MonthlyCardData {
        public money_num: number;
        public effective_time_start: (number|protobuf.Long);
        public obtained_time: (number|protobuf.Long);
        public valid_days: number;
        public effective_time_end: (number|protobuf.Long);
    }

    interface IT_MostImportantPerson {
        vip_level?: (number|null);
        vip_score?: (number|protobuf.Long|null);
        weekend_award_time?: (number|protobuf.Long|null);
        data?: (IT_VipLevelAwardData[]|null);
        mc1st?: (IT_MonthlyCardData|null);
        mc2nd?: (IT_MonthlyCardData|null);
    }

    export class T_MostImportantPerson implements IT_MostImportantPerson {
        public vip_level: number;
        public vip_score: (number|protobuf.Long);
        public weekend_award_time: (number|protobuf.Long);
        public data: IT_VipLevelAwardData[];
        public mc1st?: (IT_MonthlyCardData|null);
        public mc2nd?: (IT_MonthlyCardData|null);
    }

    interface IT_GrowthFundAwardData {
        level?: (number|null);
        obtained?: (boolean|null);
    }

    export class T_GrowthFundAwardData implements IT_GrowthFundAwardData {
        public level: number;
        public obtained: boolean;
    }

    interface IT_GrowthFundData {
        data?: (IT_GrowthFundAwardData[]|null);
        charged?: (boolean|null);
        obtain_init_award?: (boolean|null);
    }

    export class T_GrowthFundData implements IT_GrowthFundData {
        public data: IT_GrowthFundAwardData[];
        public charged: boolean;
        public obtain_init_award: boolean;
    }

    interface IT_PeakGameHeroData {
        num?: (number|null);
        hero_data?: (IT_HeroData|null);
        seal_page_id?: (number|null);
    }

    export class T_PeakGameHeroData implements IT_PeakGameHeroData {
        public num: number;
        public hero_data?: (IT_HeroData|null);
        public seal_page_id: number;
    }

    interface IT_PeakGameData {
        win_num?: (number|null);
        game_hero_data?: (IT_PeakGameHeroData[]|null);
        cur_hero_data?: (IT_HeroData[]|null);
        total_count?: (number|null);
        buy_ticket?: (boolean|null);
        finish_select_hero?: (boolean|null);
        is_award?: (boolean|null);
        abandoned?: (boolean|null);
        tickets_num?: (number|null);
        sorted?: (boolean|null);
        hero_ids?: ((number|protobuf.Long)[]|null);
    }

    export class T_PeakGameData implements IT_PeakGameData {
        public win_num: number;
        public game_hero_data: IT_PeakGameHeroData[];
        public cur_hero_data: IT_HeroData[];
        public total_count: number;
        public buy_ticket: boolean;
        public finish_select_hero: boolean;
        public is_award: boolean;
        public abandoned: boolean;
        public tickets_num: number;
        public sorted: boolean;
        public hero_ids: (number|protobuf.Long)[];
    }

    enum UserState {
        Offline = 1,
        Online = 2,
        Teaming = 3,
        Matching = 4,
        SelectHero = 5,
        Gaming = 6,
        TeamNotPrepare = 7,
        NoFriendOrRecentInvent = 8,
        NoRecentInvent = 9,
        ViewGame = 10,
        GameResult = 11
    }

    enum BattleOperateCode {
        OCUserMoveLeft = 1,
        OCUserMoveRight = 2,
        OCUserStopMove = 3,
        OCUserJump = 4,
        OCUserSkillAction = 5,
        OCUserTureLeft = 6,
        OCUserTureRight = 7,
        OCUserNone = 8
    }

    enum ChangeNameResultCode {
        RCSuccess = 0,
        RCNameRepeat = 1,
        RCEmptyName = 2,
        RCSameName = 3,
        RCSpecialCharacter = 4,
        RCNameLess = 5,
        RCNameMore = 6,
        RCNameFilter = 7
    }

    enum SearchByNameResultCode {
        SNFailed = 0,
        SNSuccessed = 1,
        SNSelfName = 2
    }

    enum RecentNewsType {
        RNEnterGameTime = 1,
        RNOnlineTime = 2,
        RNObtainMVP = 3,
        RNBeatsThreePlayersWhithoutDeath = 4,
        RNBeatsFourPlayersWhithoutDeath = 5,
        RNBeatsFivePlayersWhithoutDeath = 6,
        RNBeatsSixPlayersWhithoutDeath = 7,
        RNBeatsTwoPlayersOneRound = 8,
        RNBeatsThreePlayersOneRound = 9,
        RNBeatsFourPlayersOneRound = 10,
        RNBeatsPlayerWin3rd = 11,
        RNBeatsPlayerWin5th = 12,
        RNBeatsPlayerWin10th = 13,
        RNBeatsSevenPlayersWhithoutDeath = 14,
        RNBeatsPlayerWin15th = 15,
        RNBeatsPlayerWin20th = 16,
        RNBeatsPlayerWin30th = 17,
        RNBeatsPlayerWin50th = 18,
        RNFirstCharge = 19,
        RNBuyBox = 20,
        RNBuyShopTreasure = 21,
        RNBuyShopHero = 22,
        RNCreateTeam = 23,
        RNTodayFirstOnline = 24,
        RNGoldPoint_50 = 25,
        RNGoldPoint_75 = 26,
        RNGoldPoint_100 = 27,
        RNGoldPoint_200 = 28
    }

    enum OneVsOneResultCode {
        OVOSuccess = 0,
        OVOSelfOffline = 1,
        OVOSelfTeaming = 2,
        OVOSelfMatching = 3,
        OVOSelfPrepareGame = 4,
        OVOSelfGaming = 5,
        OVOOffline = 6,
        OVOTeaming = 7,
        OVOMatching = 8,
        OVOPrepareGame = 9,
        OVOGaming = 10,
        OVOSelfOffline2 = 11,
        OVOSelfTeaming2 = 12,
        OVOSelfMatching2 = 13,
        OVOSelfPrepareGame2 = 14,
        OVOSelfGaming2 = 15,
        OVOOffline2 = 16,
        OVOTeaming2 = 17,
        OVOMatching2 = 18,
        OVOPrepareGame2 = 19,
        OVOGaming2 = 20,
        OVOSelfNotTeam = 21,
        OVONotTeam = 22,
        OVONOInvent = 23,
        OVONoRecentInvent = 24,
        OVOLadderNotMinHero = 25,
        OVOLadderNotMinLevel = 26,
        OVOLessThanMinLevel = 27
    }

    enum LoginRetCode {
        Success = 0,
        Failed = 1,
        NotOpen = 2,
        Seal = 3,
        CheckVersion = 4
    }

    enum EnumRoomState {
        RoomState_Prepare = 1,
        RoomState_StepRunning = 2,
        RoomState_StepEnding = 3,
        RoomState_Closing = 4,
        RoomState_End = 5
    }

    interface IMSG_RoomInfoAndState {
        room_id?: (number|protobuf.Long|null);
        state?: (IMSG_RoomState|null);
        info?: (IMSG_RoomInfo|null);
        view?: (IMSG_IAmViewer|null);
    }

    export class MSG_RoomInfoAndState implements IMSG_RoomInfoAndState {
        public room_id: (number|protobuf.Long);
        public state?: (IMSG_RoomState|null);
        public info?: (IMSG_RoomInfo|null);
        public view?: (IMSG_IAmViewer|null);
    }

    interface IMSG_RoomLoadProgress {
        progress?: (number|protobuf.Long|null);
    }

    export class MSG_RoomLoadProgress implements IMSG_RoomLoadProgress {
        public progress: (number|protobuf.Long);
    }

    interface IMSG_BroadcastRoomLoadProgress {
        user_id?: (number|protobuf.Long|null);
        progress?: (number|protobuf.Long|null);
    }

    export class MSG_BroadcastRoomLoadProgress implements IMSG_BroadcastRoomLoadProgress {
        public user_id: (number|protobuf.Long);
        public progress: (number|protobuf.Long);
    }

    interface IMSG_IntoRoom {
    }

    export class MSG_IntoRoom implements IMSG_IntoRoom {
    }

    interface IMSG_RoomState {
        current_tick?: (number|protobuf.Long|null);
        step_user_id?: ((number|protobuf.Long)[]|null);
        step_start_tick?: (number|protobuf.Long|null);
        step_finish_tick?: (number|protobuf.Long|null);
        room_state?: (number|null);
        wind?: (number|null);
        score_a?: (number|protobuf.Long|null);
        score_b?: (number|protobuf.Long|null);
        max_score?: (number|protobuf.Long|null);
        room_kind?: (number|protobuf.Long|null);
        show_exit_btn?: (boolean|null);
        game_rule?: (string|null);
        multi_control?: (boolean|null);
        cur_team?: (number|protobuf.Long|null);
    }

    export class MSG_RoomState implements IMSG_RoomState {
        public current_tick: (number|protobuf.Long);
        public step_user_id: (number|protobuf.Long)[];
        public step_start_tick: (number|protobuf.Long);
        public step_finish_tick: (number|protobuf.Long);
        public room_state: number;
        public wind: number;
        public score_a: (number|protobuf.Long);
        public score_b: (number|protobuf.Long);
        public max_score: (number|protobuf.Long);
        public room_kind: (number|protobuf.Long);
        public show_exit_btn: boolean;
        public game_rule: string;
        public multi_control: boolean;
        public cur_team: (number|protobuf.Long);
    }

    interface IMSG_ItemInfo {
        object_id?: (number|protobuf.Long|null);
        item_id?: (number|protobuf.Long|null);
        master_id?: (number|protobuf.Long|null);
        pos?: (IT_Pos|null);
    }

    export class MSG_ItemInfo implements IMSG_ItemInfo {
        public object_id: (number|protobuf.Long);
        public item_id: (number|protobuf.Long);
        public master_id: (number|protobuf.Long);
        public pos?: (IT_Pos|null);
    }

    interface IMSG_RoomInfo {
        users?: (IMSG_RoomUserInfo[]|null);
        booms?: (IMSG_RoomObjectInfo[]|null);
        items?: (IMSG_ItemInfo[]|null);
        total_tick?: (number|protobuf.Long|null);
        scene_name?: (string|null);
        game_start_time?: (number|protobuf.Long|null);
        terrians?: (IMSG_TerrianInfo[]|null);
    }

    export class MSG_RoomInfo implements IMSG_RoomInfo {
        public users: IMSG_RoomUserInfo[];
        public booms: IMSG_RoomObjectInfo[];
        public items: IMSG_ItemInfo[];
        public total_tick: (number|protobuf.Long);
        public scene_name: string;
        public game_start_time: (number|protobuf.Long);
        public terrians: IMSG_TerrianInfo[];
    }

    interface IMSG_TerrianInfo {
        terrian_id?: (number|protobuf.Long|null);
        terrian_pic?: (number|protobuf.Long|null);
        map_pos?: (IMSG_TerrianPos|null);
        func_x_name?: (string|null);
        func_x_change?: (number|protobuf.Long|null);
        func_x_duration?: (number|protobuf.Long|null);
        func_x_var?: (number|null);
        func_y_name?: (string|null);
        func_y_change?: (number|protobuf.Long|null);
        func_y_duration?: (number|protobuf.Long|null);
        func_y_var?: (number|null);
    }

    export class MSG_TerrianInfo implements IMSG_TerrianInfo {
        public terrian_id: (number|protobuf.Long);
        public terrian_pic: (number|protobuf.Long);
        public map_pos?: (IMSG_TerrianPos|null);
        public func_x_name: string;
        public func_x_change: (number|protobuf.Long);
        public func_x_duration: (number|protobuf.Long);
        public func_x_var: number;
        public func_y_name: string;
        public func_y_change: (number|protobuf.Long);
        public func_y_duration: (number|protobuf.Long);
        public func_y_var: number;
    }

    interface IMSG_TerrianPos {
        terrian_id?: (number|protobuf.Long|null);
        map_x?: (number|null);
        map_y?: (number|null);
        angle?: (number|null);
    }

    export class MSG_TerrianPos implements IMSG_TerrianPos {
        public terrian_id: (number|protobuf.Long);
        public map_x: number;
        public map_y: number;
        public angle: number;
    }

    interface IMSG_SyncTerrianPos {
        terrians?: (IMSG_TerrianPos[]|null);
    }

    export class MSG_SyncTerrianPos implements IMSG_SyncTerrianPos {
        public terrians: IMSG_TerrianPos[];
    }

    interface IMSG_UserBuffer {
        unique_id?: (number|protobuf.Long|null);
        buff_id?: (number|protobuf.Long|null);
        life_step?: (number|protobuf.Long|null);
        buf_value1?: (number|null);
        buf_owner_id?: (number|protobuf.Long|null);
        buff_count?: (number|protobuf.Long|null);
    }

    export class MSG_UserBuffer implements IMSG_UserBuffer {
        public unique_id: (number|protobuf.Long);
        public buff_id: (number|protobuf.Long);
        public life_step: (number|protobuf.Long);
        public buf_value1: number;
        public buf_owner_id: (number|protobuf.Long);
        public buff_count: (number|protobuf.Long);
    }

    interface IMSG_IAmViewer {
        view?: (boolean|null);
        view_id?: (number|protobuf.Long|null);
        replay?: (boolean|null);
    }

    export class MSG_IAmViewer implements IMSG_IAmViewer {
        public view: boolean;
        public view_id: (number|protobuf.Long);
        public replay: boolean;
    }

    interface IMSG_RoomUserInfo {
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        pos?: (IT_Pos|null);
        weapon_id?: (number|null);
        team?: (number|null);
        cur_hp?: (number|null);
        max_hp?: (number|null);
        object_id?: (number|protobuf.Long|null);
        can_fire?: (boolean|null);
        kill_count?: (number|protobuf.Long|null);
        death_count?: (number|protobuf.Long|null);
        weapons?: (IT_WeaponData[]|null);
        score?: (number|null);
        hero_id?: (number|protobuf.Long|null);
        skin_id?: (number|protobuf.Long|null);
        buffs?: (IMSG_UserBuffer[]|null);
        ass_kill_count?: (number|protobuf.Long|null);
        skin_ids?: ((number|protobuf.Long)[]|null);
        direct?: (number|null);
        loc?: (number|protobuf.Long|null);
        reputation_level?: (number|null);
        base_data?: (IT_BaseUserData|null);
        end_game_level?: (number|protobuf.Long|null);
        controllor_id?: (number|protobuf.Long|null);
        upgrade?: (number|protobuf.Long|null);
        ai_control?: (boolean|null);
        base_attack?: (number|protobuf.Long|null);
    }

    export class MSG_RoomUserInfo implements IMSG_RoomUserInfo {
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public pos?: (IT_Pos|null);
        public weapon_id: number;
        public team: number;
        public cur_hp: number;
        public max_hp: number;
        public object_id: (number|protobuf.Long);
        public can_fire: boolean;
        public kill_count: (number|protobuf.Long);
        public death_count: (number|protobuf.Long);
        public weapons: IT_WeaponData[];
        public score: number;
        public hero_id: (number|protobuf.Long);
        public skin_id: (number|protobuf.Long);
        public buffs: IMSG_UserBuffer[];
        public ass_kill_count: (number|protobuf.Long);
        public skin_ids: (number|protobuf.Long)[];
        public direct: number;
        public loc: (number|protobuf.Long);
        public reputation_level: number;
        public base_data?: (IT_BaseUserData|null);
        public end_game_level: (number|protobuf.Long);
        public controllor_id: (number|protobuf.Long);
        public upgrade: (number|protobuf.Long);
        public ai_control: boolean;
        public base_attack: (number|protobuf.Long);
    }

    interface IT_HoleData {
        current_tick?: (number|protobuf.Long|null);
        pos?: (IT_Pos|null);
        mask_name?: (string|null);
        dig_type?: (boolean|null);
        hole_radius?: (number|null);
        hole_width?: (number|null);
        hole_height?: (number|null);
        hole_angle?: (number|null);
        mini_stone?: (boolean|null);
        terrians?: (IMSG_SyncTerrianPos|null);
    }

    export class T_HoleData implements IT_HoleData {
        public current_tick: (number|protobuf.Long);
        public pos?: (IT_Pos|null);
        public mask_name: string;
        public dig_type: boolean;
        public hole_radius: number;
        public hole_width: number;
        public hole_height: number;
        public hole_angle: number;
        public mini_stone: boolean;
        public terrians?: (IMSG_SyncTerrianPos|null);
    }

    interface IMSG_TempReplaceSkill {
        user_id?: (number|protobuf.Long|null);
        skill_id?: (number|protobuf.Long|null);
        temp_skill_id?: (number|protobuf.Long|null);
    }

    export class MSG_TempReplaceSkill implements IMSG_TempReplaceSkill {
        public user_id: (number|protobuf.Long);
        public skill_id: (number|protobuf.Long);
        public temp_skill_id: (number|protobuf.Long);
    }

    interface IMSG_RoomObjectInfo {
        object_id?: (number|protobuf.Long|null);
        boom_id?: (number|protobuf.Long|null);
        pos?: (IT_Pos|null);
        ready_time?: (number|protobuf.Long|null);
        boom_time?: (number|protobuf.Long|null);
        activity?: (boolean|null);
        explosion?: (boolean|null);
    }

    export class MSG_RoomObjectInfo implements IMSG_RoomObjectInfo {
        public object_id: (number|protobuf.Long);
        public boom_id: (number|protobuf.Long);
        public pos?: (IT_Pos|null);
        public ready_time: (number|protobuf.Long);
        public boom_time: (number|protobuf.Long);
        public activity: boolean;
        public explosion: boolean;
    }

    interface IMSG_UpdateUserBuff {
        user_id?: (number|protobuf.Long|null);
        op?: (number|protobuf.Long|null);
        buff?: (IMSG_UserBuffer|null);
    }

    export class MSG_UpdateUserBuff implements IMSG_UpdateUserBuff {
        public user_id: (number|protobuf.Long);
        public op: (number|protobuf.Long);
        public buff?: (IMSG_UserBuffer|null);
    }

    interface IMSG_SyncUserMove {
        operation?: (IT_Vector3|null);
        user_pos?: (IT_Pos|null);
        current_tick?: (number|protobuf.Long|null);
        move_speed?: (IT_Vector3|null);
    }

    export class MSG_SyncUserMove implements IMSG_SyncUserMove {
        public operation?: (IT_Vector3|null);
        public user_pos?: (IT_Pos|null);
        public current_tick: (number|protobuf.Long);
        public move_speed?: (IT_Vector3|null);
    }

    interface IMSG_BroadUserMove {
        current_tick?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        user_pos?: (IT_Pos|null);
        operation?: (IT_Vector3|null);
        object_id?: (number|protobuf.Long|null);
        move_speed?: (IT_Vector3|null);
    }

    export class MSG_BroadUserMove implements IMSG_BroadUserMove {
        public current_tick: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public user_pos?: (IT_Pos|null);
        public operation?: (IT_Vector3|null);
        public object_id: (number|protobuf.Long);
        public move_speed?: (IT_Vector3|null);
    }

    enum EnumUserPos {
        Teleport = 1,
        Twins = 2,
        Assassinate = 3,
        ExchangePos = 4,
        MoveToTarget = 5
    }

    interface IMSG_SyncSetUserPos {
        user_id?: (number|protobuf.Long|null);
        user_pos?: (IT_Pos|null);
        flag?: (number|protobuf.Long|null);
        skill_id?: (number|protobuf.Long|null);
    }

    export class MSG_SyncSetUserPos implements IMSG_SyncSetUserPos {
        public user_id: (number|protobuf.Long);
        public user_pos?: (IT_Pos|null);
        public flag: (number|protobuf.Long);
        public skill_id: (number|protobuf.Long);
    }

    interface IMSG_SyncOperateWeapon {
        weapon_id?: (number|null);
        start_pos?: (IT_Pos|null);
        dir?: (IT_Vector3|null);
        object_id?: (number|protobuf.Long|null);
    }

    export class MSG_SyncOperateWeapon implements IMSG_SyncOperateWeapon {
        public weapon_id: number;
        public start_pos?: (IT_Pos|null);
        public dir?: (IT_Vector3|null);
        public object_id: (number|protobuf.Long);
    }

    interface IMSG_BroadOperateWeapon {
        current_tick?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        user_pos?: (IT_Pos|null);
        weapon_id?: (number|null);
        start_pos?: (IT_Pos|null);
        dir?: (IT_Vector3|null);
        bullet_id?: (number|protobuf.Long|null);
        watch_id?: (number|protobuf.Long|null);
    }

    export class MSG_BroadOperateWeapon implements IMSG_BroadOperateWeapon {
        public current_tick: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public user_pos?: (IT_Pos|null);
        public weapon_id: number;
        public start_pos?: (IT_Pos|null);
        public dir?: (IT_Vector3|null);
        public bullet_id: (number|protobuf.Long);
        public watch_id: (number|protobuf.Long);
    }

    interface IMSG_SyncBoomPos {
        bullet_id?: (number|protobuf.Long|null);
        pos?: (IT_Pos|null);
    }

    export class MSG_SyncBoomPos implements IMSG_SyncBoomPos {
        public bullet_id: (number|protobuf.Long);
        public pos?: (IT_Pos|null);
    }

    interface IMSG_AckHolePos {
        current_tick?: (number|protobuf.Long|null);
        bullet_id?: (number|protobuf.Long|null);
        pos?: (IT_Pos|null);
        hit_user?: (boolean|null);
        mask_name?: (string|null);
        dig_type?: (boolean|null);
        hole_radius?: (number|null);
        hole_width?: (number|null);
        hole_height?: (number|null);
        hole_angle?: (number|null);
        skill_dir?: (number|null);
        terrians?: (IMSG_SyncTerrianPos|null);
    }

    export class MSG_AckHolePos implements IMSG_AckHolePos {
        public current_tick: (number|protobuf.Long);
        public bullet_id: (number|protobuf.Long);
        public pos?: (IT_Pos|null);
        public hit_user: boolean;
        public mask_name: string;
        public dig_type: boolean;
        public hole_radius: number;
        public hole_width: number;
        public hole_height: number;
        public hole_angle: number;
        public skill_dir: number;
        public terrians?: (IMSG_SyncTerrianPos|null);
    }

    interface IMSG_BroadRemoveBoom {
        bullet_id?: (number|protobuf.Long|null);
        remove_type?: (number|protobuf.Long|null);
    }

    export class MSG_BroadRemoveBoom implements IMSG_BroadRemoveBoom {
        public bullet_id: (number|protobuf.Long);
        public remove_type: (number|protobuf.Long);
    }

    interface IMSG_SyncJump {
        user_pos?: (IT_Pos|null);
    }

    export class MSG_SyncJump implements IMSG_SyncJump {
        public user_pos?: (IT_Pos|null);
    }

    interface IMSG_BroadJump {
        current_tick?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        user_pos?: (IT_Pos|null);
    }

    export class MSG_BroadJump implements IMSG_BroadJump {
        public current_tick: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public user_pos?: (IT_Pos|null);
    }

    interface IMSG_SyncJumpEnd {
        user_id?: (number|protobuf.Long|null);
        user_pos?: (IT_Pos|null);
    }

    export class MSG_SyncJumpEnd implements IMSG_SyncJumpEnd {
        public user_id: (number|protobuf.Long);
        public user_pos?: (IT_Pos|null);
    }

    interface IMSG_BroadJumpEnd {
        current_tick?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        user_pos?: (IT_Pos|null);
    }

    export class MSG_BroadJumpEnd implements IMSG_BroadJumpEnd {
        public current_tick: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public user_pos?: (IT_Pos|null);
    }

    interface IMSG_BroadCastHp {
        current_tick?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        max_hp?: (number|null);
        current_hp?: (number|null);
        change_hp?: (number|null);
        object_id?: (number|protobuf.Long|null);
        flag?: (number|protobuf.Long|null);
    }

    export class MSG_BroadCastHp implements IMSG_BroadCastHp {
        public current_tick: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public max_hp: number;
        public current_hp: number;
        public change_hp: number;
        public object_id: (number|protobuf.Long);
        public flag: (number|protobuf.Long);
    }

    interface IMSG_BroadDeath {
        current_tick?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        object_id?: (number|protobuf.Long|null);
        kill_id?: (number|protobuf.Long|null);
    }

    export class MSG_BroadDeath implements IMSG_BroadDeath {
        public current_tick: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public object_id: (number|protobuf.Long);
        public kill_id: (number|protobuf.Long);
    }

    interface IMSG_DeathScore {
        user_id?: (number|protobuf.Long|null);
        score?: (number|protobuf.Long|null);
    }

    export class MSG_DeathScore implements IMSG_DeathScore {
        public user_id: (number|protobuf.Long);
        public score: (number|protobuf.Long);
    }

    interface IMSG_DeathPoint {
        from_id?: (number|protobuf.Long|null);
        to_id?: (number|protobuf.Long|null);
        score?: (number|protobuf.Long|null);
    }

    export class MSG_DeathPoint implements IMSG_DeathPoint {
        public from_id: (number|protobuf.Long);
        public to_id: (number|protobuf.Long);
        public score: (number|protobuf.Long);
    }

    interface IResultStruct {
        unique_id?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        team?: (number|protobuf.Long|null);
        ass_kill_count?: (number|protobuf.Long|null);
        kill_count?: (number|protobuf.Long|null);
        damage?: (number|protobuf.Long|null);
        death_count?: (number|protobuf.Long|null);
        score?: (number|null);
        mvp?: (boolean|null);
        items?: (IT_ItemData[]|null);
        old_grade?: (IT_GradeData|null);
        new_grade?: (IT_GradeData|null);
        continue_win_add_brave?: (number|protobuf.Long|null);
        game_rank_add_brave?: (number|protobuf.Long|null);
        grade_change?: (number|null);
        hero_id?: (number|null);
        skin_id?: (number|null);
        not_move_round?: (number|null);
        loc?: (number|protobuf.Long|null);
        base_data?: (IT_BaseUserData|null);
    }

    export class ResultStruct implements IResultStruct {
        public unique_id: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public team: (number|protobuf.Long);
        public ass_kill_count: (number|protobuf.Long);
        public kill_count: (number|protobuf.Long);
        public damage: (number|protobuf.Long);
        public death_count: (number|protobuf.Long);
        public score: number;
        public mvp: boolean;
        public items: IT_ItemData[];
        public old_grade?: (IT_GradeData|null);
        public new_grade?: (IT_GradeData|null);
        public continue_win_add_brave: (number|protobuf.Long);
        public game_rank_add_brave: (number|protobuf.Long);
        public grade_change: number;
        public hero_id: number;
        public skin_id: number;
        public not_move_round: number;
        public loc: (number|protobuf.Long);
        public base_data?: (IT_BaseUserData|null);
    }

    interface IMSG_BroadResult {
        result_data?: (IT_GameResultData|null);
    }

    export class MSG_BroadResult implements IMSG_BroadResult {
        public result_data?: (IT_GameResultData|null);
    }

    interface IMSG_BroadForceOnObject {
        object_id?: (number|protobuf.Long|null);
        object_pos?: (IT_Pos|null);
        force?: (IT_Vector3|null);
        bullet_id?: (number|protobuf.Long|null);
        ignore_push?: (boolean|null);
    }

    export class MSG_BroadForceOnObject implements IMSG_BroadForceOnObject {
        public object_id: (number|protobuf.Long);
        public object_pos?: (IT_Pos|null);
        public force?: (IT_Vector3|null);
        public bullet_id: (number|protobuf.Long);
        public ignore_push: boolean;
    }

    interface IMSG_BroadForceOnObjects {
        data?: (IMSG_BroadForceOnObject[]|null);
    }

    export class MSG_BroadForceOnObjects implements IMSG_BroadForceOnObjects {
        public data: IMSG_BroadForceOnObject[];
    }

    interface IMSG_SyncFlyingObjectPos {
        current_tick?: (number|protobuf.Long|null);
        object_id?: (number|protobuf.Long|null);
        object_pos?: (IT_Pos|null);
        stop_move?: (boolean|null);
        speed?: (IT_Vector3|null);
    }

    export class MSG_SyncFlyingObjectPos implements IMSG_SyncFlyingObjectPos {
        public current_tick: (number|protobuf.Long);
        public object_id: (number|protobuf.Long);
        public object_pos?: (IT_Pos|null);
        public stop_move: boolean;
        public speed?: (IT_Vector3|null);
    }

    interface IMSG_BroadFlyingObjectPos {
        current_tick?: (number|protobuf.Long|null);
        object_id?: (number|protobuf.Long|null);
        object_pos?: (IT_Pos|null);
        stop_move?: (boolean|null);
        speed?: (IT_Vector3|null);
    }

    export class MSG_BroadFlyingObjectPos implements IMSG_BroadFlyingObjectPos {
        public current_tick: (number|protobuf.Long);
        public object_id: (number|protobuf.Long);
        public object_pos?: (IT_Pos|null);
        public stop_move: boolean;
        public speed?: (IT_Vector3|null);
    }

    interface IMSG_HoleHistoryData {
        room_id?: (number|protobuf.Long|null);
        data?: (IT_HoleData[]|null);
    }

    export class MSG_HoleHistoryData implements IMSG_HoleHistoryData {
        public room_id: (number|protobuf.Long);
        public data: IT_HoleData[];
    }

    interface IMSG_FinishMyStep {
    }

    export class MSG_FinishMyStep implements IMSG_FinishMyStep {
    }

    interface IMSG_RequireObjectPos {
        object_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequireObjectPos implements IMSG_RequireObjectPos {
        public object_id: (number|protobuf.Long);
    }

    interface IMSG_ReturnObjectPos {
        object_id?: (number|protobuf.Long|null);
        object_pos?: (IT_Pos|null);
    }

    export class MSG_ReturnObjectPos implements IMSG_ReturnObjectPos {
        public object_id: (number|protobuf.Long);
        public object_pos?: (IT_Pos|null);
    }

    interface IMSG_ShowDeathBoom {
        user_id?: (number|protobuf.Long|null);
        user_pos?: (IT_Pos|null);
    }

    export class MSG_ShowDeathBoom implements IMSG_ShowDeathBoom {
        public user_id: (number|protobuf.Long);
        public user_pos?: (IT_Pos|null);
    }

    enum EnumUserAttribute {
        CanFire = 1,
        KillCount = 2,
        DeathCount = 3,
        Damage = 4,
        AssKillCount = 5,
        CanMove = 6,
        HealOther = 7,
        DamegeSelf = 8,
        Score = 9
    }

    interface IMSG_UpdateAttribute {
        object_id?: (number|protobuf.Long|null);
        attr_type?: (number|null);
        attr_value?: (number|protobuf.Long|null);
    }

    export class MSG_UpdateAttribute implements IMSG_UpdateAttribute {
        public object_id: (number|protobuf.Long);
        public attr_type: number;
        public attr_value: (number|protobuf.Long);
    }

    interface IMSG_RequireRoomLocation {
        require_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequireRoomLocation implements IMSG_RequireRoomLocation {
        public require_id: (number|protobuf.Long);
    }

    interface IMSG_ReturnRoomLocation {
        require_id?: (number|protobuf.Long|null);
        object_pos?: (IT_Pos|null);
    }

    export class MSG_ReturnRoomLocation implements IMSG_ReturnRoomLocation {
        public require_id: (number|protobuf.Long);
        public object_pos?: (IT_Pos|null);
    }

    interface IMSG_RelivePlayer {
        object_id?: (number|protobuf.Long|null);
        info?: (IMSG_RoomUserInfo|null);
        flag?: (number|protobuf.Long|null);
    }

    export class MSG_RelivePlayer implements IMSG_RelivePlayer {
        public object_id: (number|protobuf.Long);
        public info?: (IMSG_RoomUserInfo|null);
        public flag: (number|protobuf.Long);
    }

    interface IMSG_UpdateWeaponData {
        object_id?: (number|protobuf.Long|null);
        data?: (IT_WeaponData|null);
    }

    export class MSG_UpdateWeaponData implements IMSG_UpdateWeaponData {
        public object_id: (number|protobuf.Long);
        public data?: (IT_WeaponData|null);
    }

    interface IMSG_SyncEmoj {
        emoj_id?: (number|protobuf.Long|null);
    }

    export class MSG_SyncEmoj implements IMSG_SyncEmoj {
        public emoj_id: (number|protobuf.Long);
    }

    interface IMSG_BroadcastEmoj {
        object_id?: (number|protobuf.Long|null);
        emoj?: (IMSG_SyncEmoj|null);
    }

    export class MSG_BroadcastEmoj implements IMSG_BroadcastEmoj {
        public object_id: (number|protobuf.Long);
        public emoj?: (IMSG_SyncEmoj|null);
    }

    interface IMSG_SendChatList {
        msg?: (IT_ChatData[]|null);
    }

    export class MSG_SendChatList implements IMSG_SendChatList {
        public msg: IT_ChatData[];
    }

    interface IMSG_RequireChatList {
        hero_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequireChatList implements IMSG_RequireChatList {
        public hero_id: (number|protobuf.Long);
    }

    interface IMSG_ReplyChatList {
        hero_id?: (number|protobuf.Long|null);
        msg?: (IT_ChatData[]|null);
    }

    export class MSG_ReplyChatList implements IMSG_ReplyChatList {
        public hero_id: (number|protobuf.Long);
        public msg: IT_ChatData[];
    }

    interface IMSG_SetChatList {
        hero_id?: (number|protobuf.Long|null);
        msg?: (IT_ChatData[]|null);
    }

    export class MSG_SetChatList implements IMSG_SetChatList {
        public hero_id: (number|protobuf.Long);
        public msg: IT_ChatData[];
    }

    interface IMSG_ResetChatList {
        hero_id?: (number|protobuf.Long|null);
    }

    export class MSG_ResetChatList implements IMSG_ResetChatList {
        public hero_id: (number|protobuf.Long);
    }

    interface IMSG_SendRoomChat {
        sys_msg_id?: (number|protobuf.Long|null);
        channel?: (number|protobuf.Long|null);
        msg_str?: (string|null);
        chat_type?: (number|null);
    }

    export class MSG_SendRoomChat implements IMSG_SendRoomChat {
        public sys_msg_id: (number|protobuf.Long);
        public channel: (number|protobuf.Long);
        public msg_str: string;
        public chat_type: number;
    }

    interface IMSG_BroadcastRoomChat {
        object_id?: (number|protobuf.Long|null);
        object_name?: (string|null);
        user_gender?: (number|null);
        sys_msg_id?: (number|protobuf.Long|null);
        channel?: (number|protobuf.Long|null);
        msg_str?: (string|null);
        chat_type?: (number|null);
        client_msg_str?: (string|null);
    }

    export class MSG_BroadcastRoomChat implements IMSG_BroadcastRoomChat {
        public object_id: (number|protobuf.Long);
        public object_name: string;
        public user_gender: number;
        public sys_msg_id: (number|protobuf.Long);
        public channel: (number|protobuf.Long);
        public msg_str: string;
        public chat_type: number;
        public client_msg_str: string;
    }

    interface IMSG_UpdateBaseAttack {
        object_id?: (number|protobuf.Long|null);
        base_attack?: (number|protobuf.Long|null);
    }

    export class MSG_UpdateBaseAttack implements IMSG_UpdateBaseAttack {
        public object_id: (number|protobuf.Long);
        public base_attack: (number|protobuf.Long);
    }

    interface IMSG_BroadcastUpdateObjectState {
        current_tick?: (number|protobuf.Long|null);
        object_id?: (number|protobuf.Long|null);
        pos?: (IT_Vector3|null);
        speed?: (IT_Vector3|null);
        direct?: (number|null);
        state?: (number|null);
    }

    export class MSG_BroadcastUpdateObjectState implements IMSG_BroadcastUpdateObjectState {
        public current_tick: (number|protobuf.Long);
        public object_id: (number|protobuf.Long);
        public pos?: (IT_Vector3|null);
        public speed?: (IT_Vector3|null);
        public direct: number;
        public state: number;
    }

    interface IMSG_FrameDate {
        current_tick?: (number|protobuf.Long|null);
        frame_count?: (number|protobuf.Long|null);
        datas?: (IMSG_BroadcastUpdateObjectState[]|null);
        system_time?: (number|protobuf.Long|null);
    }

    export class MSG_FrameDate implements IMSG_FrameDate {
        public current_tick: (number|protobuf.Long);
        public frame_count: (number|protobuf.Long);
        public datas: IMSG_BroadcastUpdateObjectState[];
        public system_time: (number|protobuf.Long);
    }

    interface IMSG_UserOperation {
        operate_code?: (number|protobuf.Long|null);
        param1?: (IT_Vector3|null);
        param2?: (number|protobuf.Long|null);
        param3?: (number|protobuf.Long|null);
        operate_targer_id?: (number|protobuf.Long|null);
    }

    export class MSG_UserOperation implements IMSG_UserOperation {
        public operate_code: (number|protobuf.Long);
        public param1?: (IT_Vector3|null);
        public param2: (number|protobuf.Long);
        public param3: (number|protobuf.Long);
        public operate_targer_id: (number|protobuf.Long);
    }

    interface IMSG_UserOperationInSkillGuild {
        object_id?: (number|protobuf.Long|null);
        op?: (IMSG_UserOperation|null);
    }

    export class MSG_UserOperationInSkillGuild implements IMSG_UserOperationInSkillGuild {
        public object_id: (number|protobuf.Long);
        public op?: (IMSG_UserOperation|null);
    }

    interface IMSG_BoomHitUser {
        boomer_id?: (number|protobuf.Long|null);
        target_id?: (number|protobuf.Long|null);
        skill_id?: (number|protobuf.Long|null);
    }

    export class MSG_BoomHitUser implements IMSG_BoomHitUser {
        public boomer_id: (number|protobuf.Long);
        public target_id: (number|protobuf.Long);
        public skill_id: (number|protobuf.Long);
    }

    interface IMSG_ExitRoom {
        skip_skill_guide?: (boolean|null);
    }

    export class MSG_ExitRoom implements IMSG_ExitRoom {
        public skip_skill_guide: boolean;
    }

    interface IMSG_ExitRoomDirectly {
    }

    export class MSG_ExitRoomDirectly implements IMSG_ExitRoomDirectly {
    }

    interface IMSG_AddItem {
        item?: (IMSG_ItemInfo|null);
    }

    export class MSG_AddItem implements IMSG_AddItem {
        public item?: (IMSG_ItemInfo|null);
    }

    interface IMSG_PauseResumeGame {
        pause?: (boolean|null);
    }

    export class MSG_PauseResumeGame implements IMSG_PauseResumeGame {
        public pause: boolean;
    }

    interface IMSG_ShowDamage {
        atter_id?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        damage?: (number|null);
        skill_id?: (number|protobuf.Long|null);
        flag?: (number|protobuf.Long|null);
    }

    export class MSG_ShowDamage implements IMSG_ShowDamage {
        public atter_id: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public damage: number;
        public skill_id: (number|protobuf.Long);
        public flag: (number|protobuf.Long);
    }

    interface IMSG_SummonEnemyUser {
        hero_id?: (number|protobuf.Long|null);
        skin_id?: (number|protobuf.Long|null);
        name?: (string|null);
        team_id?: (number|protobuf.Long|null);
        pos_x?: (number|protobuf.Long|null);
        pos_y?: (number|protobuf.Long|null);
        enemy_phase?: (number|protobuf.Long|null);
        dir_right?: (boolean|null);
        skill_id?: (number|protobuf.Long|null);
        script_id?: (number|protobuf.Long|null);
    }

    export class MSG_SummonEnemyUser implements IMSG_SummonEnemyUser {
        public hero_id: (number|protobuf.Long);
        public skin_id: (number|protobuf.Long);
        public name: string;
        public team_id: (number|protobuf.Long);
        public pos_x: (number|protobuf.Long);
        public pos_y: (number|protobuf.Long);
        public enemy_phase: (number|protobuf.Long);
        public dir_right: boolean;
        public skill_id: (number|protobuf.Long);
        public script_id: (number|protobuf.Long);
    }

    interface IMSG_ClientSetUserPos {
        user_id?: (number|protobuf.Long|null);
        pos_x?: (number|protobuf.Long|null);
        pos_y?: (number|protobuf.Long|null);
    }

    export class MSG_ClientSetUserPos implements IMSG_ClientSetUserPos {
        public user_id: (number|protobuf.Long);
        public pos_x: (number|protobuf.Long);
        public pos_y: (number|protobuf.Long);
    }

    interface IMSG_ClientEndBuff {
        user_id?: (number|protobuf.Long|null);
        buff_unique_id?: (number|protobuf.Long|null);
    }

    export class MSG_ClientEndBuff implements IMSG_ClientEndBuff {
        public user_id: (number|protobuf.Long);
        public buff_unique_id: (number|protobuf.Long);
    }

    interface IMSG_ClientEndCurrentStep {
    }

    export class MSG_ClientEndCurrentStep implements IMSG_ClientEndCurrentStep {
    }

    interface IMSG_ClientAddScore {
        user_id?: (number|protobuf.Long|null);
        score?: (number|protobuf.Long|null);
    }

    export class MSG_ClientAddScore implements IMSG_ClientAddScore {
        public user_id: (number|protobuf.Long);
        public score: (number|protobuf.Long);
    }

    interface IMSG_ExitGameResult {
    }

    export class MSG_ExitGameResult implements IMSG_ExitGameResult {
    }

    interface IMSG_SendViewCount {
        count?: (number|protobuf.Long|null);
    }

    export class MSG_SendViewCount implements IMSG_SendViewCount {
        public count: (number|protobuf.Long);
    }

    interface IMSG_SyncUserJump {
        user_id?: (number|protobuf.Long|null);
        jump_count?: (number|protobuf.Long|null);
    }

    export class MSG_SyncUserJump implements IMSG_SyncUserJump {
        public user_id: (number|protobuf.Long);
        public jump_count: (number|protobuf.Long);
    }

    interface IT_BossModeUser {
        user_id?: (number|protobuf.Long|null);
        is_boss?: (boolean|null);
        point?: (number|protobuf.Long|null);
    }

    export class T_BossModeUser implements IT_BossModeUser {
        public user_id: (number|protobuf.Long);
        public is_boss: boolean;
        public point: (number|protobuf.Long);
    }

    interface IMSG_BossModeGame {
        users?: (IT_BossModeUser[]|null);
    }

    export class MSG_BossModeGame implements IMSG_BossModeGame {
        public users: IT_BossModeUser[];
    }

    interface IMSG_SkillGuildOpenFire {
        free_fire?: (boolean|null);
    }

    export class MSG_SkillGuildOpenFire implements IMSG_SkillGuildOpenFire {
        public free_fire: boolean;
    }

    interface IMSG_BroadcastScoreChange {
        team_A?: (number|protobuf.Long|null);
        team_A_change?: (number|protobuf.Long|null);
        team_B?: (number|protobuf.Long|null);
        team_B_change?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_BroadcastScoreChange implements IMSG_BroadcastScoreChange {
        public team_A: (number|protobuf.Long);
        public team_A_change: (number|protobuf.Long);
        public team_B: (number|protobuf.Long);
        public team_B_change: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_PackClientMessage {
        object_id?: (number|protobuf.Long|null);
        msg_index?: (number|protobuf.Long|null);
        updateWeaponData?: (IMSG_UpdateWeaponData|null);
        tempReplaceSkill?: (IMSG_TempReplaceSkill|null);
        updateUserBuff?: (IMSG_UpdateUserBuff|null);
    }

    export class MSG_PackClientMessage implements IMSG_PackClientMessage {
        public object_id: (number|protobuf.Long);
        public msg_index: (number|protobuf.Long);
        public updateWeaponData?: (IMSG_UpdateWeaponData|null);
        public tempReplaceSkill?: (IMSG_TempReplaceSkill|null);
        public updateUserBuff?: (IMSG_UpdateUserBuff|null);
    }

    interface IMSG_EndMySkillStep {
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_EndMySkillStep implements IMSG_EndMySkillStep {
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_InAiControl {
        user_id?: (number|protobuf.Long|null);
        ai_control?: (boolean|null);
    }

    export class MSG_InAiControl implements IMSG_InAiControl {
        public user_id: (number|protobuf.Long);
        public ai_control: boolean;
    }

    interface IMSG_ClientOperation {
        operation?: (string|null);
        param_name?: (string|null);
        param_value?: (string|null);
    }

    export class MSG_ClientOperation implements IMSG_ClientOperation {
        public operation: string;
        public param_name: string;
        public param_value: string;
    }

    interface IMSG_RoomChangeStep {
        cur_team?: (number|protobuf.Long|null);
        step_count?: (number|protobuf.Long|null);
    }

    export class MSG_RoomChangeStep implements IMSG_RoomChangeStep {
        public cur_team: (number|protobuf.Long);
        public step_count: (number|protobuf.Long);
    }

    interface IMSG_TestShowLine {
        lines?: (IT_Vector3[]|null);
    }

    export class MSG_TestShowLine implements IMSG_TestShowLine {
        public lines: IT_Vector3[];
    }

    interface IMSG_ClientNeedServerRouter {
        user_id?: (number|protobuf.Long|null);
        client_id?: (number|null);
        bool_args?: (boolean[]|null);
        uint_args?: ((number|protobuf.Long)[]|null);
        string_args?: (string[]|null);
    }

    export class MSG_ClientNeedServerRouter implements IMSG_ClientNeedServerRouter {
        public user_id: (number|protobuf.Long);
        public client_id: number;
        public bool_args: boolean[];
        public uint_args: (number|protobuf.Long)[];
        public string_args: string[];
    }

    interface IMSG_ServerRouterToClient {
        datas?: (IMSG_ClientNeedServerRouter|null);
    }

    export class MSG_ServerRouterToClient implements IMSG_ServerRouterToClient {
        public datas?: (IMSG_ClientNeedServerRouter|null);
    }

    interface IMSG_RecordGameData {
        tick?: (number|protobuf.Long|null);
        cmd_index?: (number|protobuf.Long|null);
        data?: (Uint8Array|null);
        cmd_MSG_AckHolePos?: (IMSG_AckHolePos|null);
        cmd_MSG_BoomHitUser?: (IMSG_BoomHitUser|null);
        cmd_MSG_ShowDamage?: (IMSG_ShowDamage|null);
        cmd_MSG_RoomObjectInfo?: (IMSG_RoomObjectInfo|null);
        cmd_MSG_UpdateUserBuff?: (IMSG_UpdateUserBuff|null);
        cmd_MSG_ServerRouterToClient?: (IMSG_ServerRouterToClient|null);
        cmd_MSG_AddItem?: (IMSG_AddItem|null);
        cmd_MSG_SyncSetUserPos?: (IMSG_SyncSetUserPos|null);
        cmd_MSG_RelivePlayer?: (IMSG_RelivePlayer|null);
        cmd_MSG_BroadRemoveBoom?: (IMSG_BroadRemoveBoom|null);
        cmd_MSG_UpdateAttribute?: (IMSG_UpdateAttribute|null);
        cmd_MSG_BroadCastHp?: (IMSG_BroadCastHp|null);
        cmd_MSG_BroadcastEmoj?: (IMSG_BroadcastEmoj|null);
        cmd_MSG_BroadcastRoomChat?: (IMSG_BroadcastRoomChat|null);
        cmd_MSG_DeathScore?: (IMSG_DeathScore|null);
        cmd_MSG_DeathPoint?: (IMSG_DeathPoint|null);
        cmd_MSG_BroadForceOnObject?: (IMSG_BroadForceOnObject|null);
        cmd_MSG_BroadDeath?: (IMSG_BroadDeath|null);
        cmd_MSG_BroadOperateWeapon?: (IMSG_BroadOperateWeapon|null);
        cmd_MSG_RequireRoomLocation?: (IMSG_RequireRoomLocation|null);
        cmd_MSG_ShowDeathBoom?: (IMSG_ShowDeathBoom|null);
        cmd_MSG_RoomState?: (IMSG_RoomState|null);
        cmd_MSG_RoomInfoAndState?: (IMSG_RoomInfoAndState|null);
        cmd_MSG_BroadResult?: (IMSG_BroadResult|null);
        cmd_MSG_IntoRoom?: (IMSG_IntoRoom|null);
        cmd_MSG_FrameDate?: (IMSG_FrameDate|null);
        cmd_MSG_NotifyRecentNews?: (IMSG_NotifyRecentNews|null);
    }

    export class MSG_RecordGameData implements IMSG_RecordGameData {
        public tick: (number|protobuf.Long);
        public cmd_index: (number|protobuf.Long);
        public data: Uint8Array;
        public cmd_MSG_AckHolePos?: (IMSG_AckHolePos|null);
        public cmd_MSG_BoomHitUser?: (IMSG_BoomHitUser|null);
        public cmd_MSG_ShowDamage?: (IMSG_ShowDamage|null);
        public cmd_MSG_RoomObjectInfo?: (IMSG_RoomObjectInfo|null);
        public cmd_MSG_UpdateUserBuff?: (IMSG_UpdateUserBuff|null);
        public cmd_MSG_ServerRouterToClient?: (IMSG_ServerRouterToClient|null);
        public cmd_MSG_AddItem?: (IMSG_AddItem|null);
        public cmd_MSG_SyncSetUserPos?: (IMSG_SyncSetUserPos|null);
        public cmd_MSG_RelivePlayer?: (IMSG_RelivePlayer|null);
        public cmd_MSG_BroadRemoveBoom?: (IMSG_BroadRemoveBoom|null);
        public cmd_MSG_UpdateAttribute?: (IMSG_UpdateAttribute|null);
        public cmd_MSG_BroadCastHp?: (IMSG_BroadCastHp|null);
        public cmd_MSG_BroadcastEmoj?: (IMSG_BroadcastEmoj|null);
        public cmd_MSG_BroadcastRoomChat?: (IMSG_BroadcastRoomChat|null);
        public cmd_MSG_DeathScore?: (IMSG_DeathScore|null);
        public cmd_MSG_DeathPoint?: (IMSG_DeathPoint|null);
        public cmd_MSG_BroadForceOnObject?: (IMSG_BroadForceOnObject|null);
        public cmd_MSG_BroadDeath?: (IMSG_BroadDeath|null);
        public cmd_MSG_BroadOperateWeapon?: (IMSG_BroadOperateWeapon|null);
        public cmd_MSG_RequireRoomLocation?: (IMSG_RequireRoomLocation|null);
        public cmd_MSG_ShowDeathBoom?: (IMSG_ShowDeathBoom|null);
        public cmd_MSG_RoomState?: (IMSG_RoomState|null);
        public cmd_MSG_RoomInfoAndState?: (IMSG_RoomInfoAndState|null);
        public cmd_MSG_BroadResult?: (IMSG_BroadResult|null);
        public cmd_MSG_IntoRoom?: (IMSG_IntoRoom|null);
        public cmd_MSG_FrameDate?: (IMSG_FrameDate|null);
        public cmd_MSG_NotifyRecentNews?: (IMSG_NotifyRecentNews|null);
    }

    interface IMSG_RecordGame {
        game_id?: (number|protobuf.Long|null);
        game_kind?: (number|protobuf.Long|null);
        game_start_time?: (number|protobuf.Long|null);
        game_end_time?: (number|protobuf.Long|null);
        info_and_state?: (IMSG_RoomInfoAndState|null);
        datas?: (IMSG_RecordGameData[]|null);
    }

    export class MSG_RecordGame implements IMSG_RecordGame {
        public game_id: (number|protobuf.Long);
        public game_kind: (number|protobuf.Long);
        public game_start_time: (number|protobuf.Long);
        public game_end_time: (number|protobuf.Long);
        public info_and_state?: (IMSG_RoomInfoAndState|null);
        public datas: IMSG_RecordGameData[];
    }

    interface IMSG_RequireRecordGame {
        game_id?: (number|protobuf.Long|null);
    }

    export class MSG_RequireRecordGame implements IMSG_RequireRecordGame {
        public game_id: (number|protobuf.Long);
    }

    interface IT_JoinTimeLimit {
        team_id?: (number|protobuf.Long|null);
        time_stamp?: (number|protobuf.Long|null);
    }

    export class T_JoinTimeLimit implements IT_JoinTimeLimit {
        public team_id: (number|protobuf.Long);
        public time_stamp: (number|protobuf.Long);
    }

    interface IT_BattleTeam {
        team_id?: (number|protobuf.Long|null);
        team_name?: (string|null);
        team_level?: (number|protobuf.Long|null);
        geo_location?: (string|null);
        join_type?: (number|protobuf.Long|null);
        grade_limit?: (number|protobuf.Long|null);
        level_limit?: (number|protobuf.Long|null);
        team_pic?: (string|null);
        team_master?: (number|protobuf.Long|null);
        vice_team_master?: ((number|protobuf.Long)[]|null);
        team_elite?: ((number|protobuf.Long)[]|null);
        members?: ((number|protobuf.Long)[]|null);
        exp?: (number|protobuf.Long|null);
        activity_week?: (number|protobuf.Long|null);
        activity_last_week?: (number|protobuf.Long|null);
        activity_season?: (number|protobuf.Long|null);
        time_stamp?: (number|protobuf.Long|null);
        event_index?: (number|protobuf.Long|null);
        week_rank?: (number|protobuf.Long|null);
        week_rank_level?: (number|protobuf.Long|null);
        team_master_name?: (string|null);
        notice?: (string|null);
        declaration?: (string|null);
        label?: (string[]|null);
        not_remaind_new?: (boolean|null);
    }

    export class T_BattleTeam implements IT_BattleTeam {
        public team_id: (number|protobuf.Long);
        public team_name: string;
        public team_level: (number|protobuf.Long);
        public geo_location: string;
        public join_type: (number|protobuf.Long);
        public grade_limit: (number|protobuf.Long);
        public level_limit: (number|protobuf.Long);
        public team_pic: string;
        public team_master: (number|protobuf.Long);
        public vice_team_master: (number|protobuf.Long)[];
        public team_elite: (number|protobuf.Long)[];
        public members: (number|protobuf.Long)[];
        public exp: (number|protobuf.Long);
        public activity_week: (number|protobuf.Long);
        public activity_last_week: (number|protobuf.Long);
        public activity_season: (number|protobuf.Long);
        public time_stamp: (number|protobuf.Long);
        public event_index: (number|protobuf.Long);
        public week_rank: (number|protobuf.Long);
        public week_rank_level: (number|protobuf.Long);
        public team_master_name: string;
        public notice: string;
        public declaration: string;
        public label: string[];
        public not_remaind_new: boolean;
    }

    interface IT_BattleTeamMember {
        user_id?: (number|protobuf.Long|null);
        timestamp?: (number|protobuf.Long|null);
        activity?: (number|protobuf.Long|null);
        sign_timestamp?: (number|protobuf.Long|null);
        diamond_activity?: (number|protobuf.Long|null);
        game_activity?: (number|protobuf.Long|null);
        game_gold?: (number|protobuf.Long|null);
        user_name?: (string|null);
        user__online?: (boolean|null);
        activity_last_week?: (number|protobuf.Long|null);
        grade?: (number|protobuf.Long|null);
        star?: (number|protobuf.Long|null);
        user_level?: (number|protobuf.Long|null);
        battle_team_pk_count?: (number|protobuf.Long|null);
        face?: (number|null);
        photo?: (string|null);
        require_join_count?: (number|protobuf.Long|null);
        time_limit?: (IT_JoinTimeLimit[]|null);
        request_list?: ((number|protobuf.Long)[]|null);
        vip_level?: (number|null);
    }

    export class T_BattleTeamMember implements IT_BattleTeamMember {
        public user_id: (number|protobuf.Long);
        public timestamp: (number|protobuf.Long);
        public activity: (number|protobuf.Long);
        public sign_timestamp: (number|protobuf.Long);
        public diamond_activity: (number|protobuf.Long);
        public game_activity: (number|protobuf.Long);
        public game_gold: (number|protobuf.Long);
        public user_name: string;
        public user__online: boolean;
        public activity_last_week: (number|protobuf.Long);
        public grade: (number|protobuf.Long);
        public star: (number|protobuf.Long);
        public user_level: (number|protobuf.Long);
        public battle_team_pk_count: (number|protobuf.Long);
        public face: number;
        public photo: string;
        public require_join_count: (number|protobuf.Long);
        public time_limit: IT_JoinTimeLimit[];
        public request_list: (number|protobuf.Long)[];
        public vip_level: number;
    }

    interface IT_BattleTeamEvent {
        event_id?: (number|protobuf.Long|null);
        time_stamp?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        photo?: (string|null);
        face?: (number|protobuf.Long|null);
        grade?: (number|protobuf.Long|null);
        val_1?: (number|protobuf.Long|null);
        val_2?: (number|protobuf.Long|null);
        str_1?: (string|null);
        str_2?: (string|null);
    }

    export class T_BattleTeamEvent implements IT_BattleTeamEvent {
        public event_id: (number|protobuf.Long);
        public time_stamp: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public photo: string;
        public face: (number|protobuf.Long);
        public grade: (number|protobuf.Long);
        public val_1: (number|protobuf.Long);
        public val_2: (number|protobuf.Long);
        public str_1: string;
        public str_2: string;
    }

    interface IT_BattleTeamEventList {
        list?: (IT_BattleTeamEvent[]|null);
    }

    export class T_BattleTeamEventList implements IT_BattleTeamEventList {
        public list: IT_BattleTeamEvent[];
    }

    interface IT_JoinBattleTeamRequest {
        invite_user_id?: (number|protobuf.Long|null);
        invite_user_name?: (string|null);
        timestamp?: (number|protobuf.Long|null);
        user_id?: (number|protobuf.Long|null);
        user_name?: (string|null);
        user_grade?: (number|protobuf.Long|null);
        user_pic?: (string|null);
        user_face?: (number|protobuf.Long|null);
        photo_border?: (number|null);
        level?: (number|null);
        view?: (boolean|null);
        vip_level?: (number|null);
    }

    export class T_JoinBattleTeamRequest implements IT_JoinBattleTeamRequest {
        public invite_user_id: (number|protobuf.Long);
        public invite_user_name: string;
        public timestamp: (number|protobuf.Long);
        public user_id: (number|protobuf.Long);
        public user_name: string;
        public user_grade: (number|protobuf.Long);
        public user_pic: string;
        public user_face: (number|protobuf.Long);
        public photo_border: number;
        public level: number;
        public view: boolean;
        public vip_level: number;
    }

    interface IT_JoinBattleTeamRequestList {
        team_id?: (number|protobuf.Long|null);
        request_list?: (IT_JoinBattleTeamRequest[]|null);
        not_remaind_new?: (boolean|null);
        all_view?: (boolean|null);
    }

    export class T_JoinBattleTeamRequestList implements IT_JoinBattleTeamRequestList {
        public team_id: (number|protobuf.Long);
        public request_list: IT_JoinBattleTeamRequest[];
        public not_remaind_new: boolean;
        public all_view: boolean;
    }

    interface IT_BattleTeamData {
        team?: (IT_BattleTeam|null);
        master?: (IT_BattleTeamMember|null);
        has_requested?: (boolean|null);
    }

    export class T_BattleTeamData implements IT_BattleTeamData {
        public team?: (IT_BattleTeam|null);
        public master?: (IT_BattleTeamMember|null);
        public has_requested: boolean;
    }

    interface IMSG_CheckBattleTeamName {
        team_name?: (string|null);
    }

    export class MSG_CheckBattleTeamName implements IMSG_CheckBattleTeamName {
        public team_name: string;
    }

    interface IMSG_RetCheckBattleTeamName {
        ok?: (boolean|null);
        team_name?: (string|null);
    }

    export class MSG_RetCheckBattleTeamName implements IMSG_RetCheckBattleTeamName {
        public ok: boolean;
        public team_name: string;
    }

    interface IMSG_CreateBattleTeam {
        team_data?: (IT_BattleTeam|null);
    }

    export class MSG_CreateBattleTeam implements IMSG_CreateBattleTeam {
        public team_data?: (IT_BattleTeam|null);
    }

    interface IMSG_RetCreateBattleTeam {
        create_ok?: (boolean|null);
        team?: (IT_BattleTeam|null);
    }

    export class MSG_RetCreateBattleTeam implements IMSG_RetCreateBattleTeam {
        public create_ok: boolean;
        public team?: (IT_BattleTeam|null);
    }

    interface IMSG_JoinBattleTeam {
        team_id?: (number|protobuf.Long|null);
    }

    export class MSG_JoinBattleTeam implements IMSG_JoinBattleTeam {
        public team_id: (number|protobuf.Long);
    }

    interface IMSG_RetJoinBattleTeam {
        ret_code?: (number|protobuf.Long|null);
        team_id?: (number|protobuf.Long|null);
    }

    export class MSG_RetJoinBattleTeam implements IMSG_RetJoinBattleTeam {
        public ret_code: (number|protobuf.Long);
        public team_id: (number|protobuf.Long);
    }

    interface IMSG_GetBattleTeamList {
        key?: (string|null);
        can_join?: (boolean|null);
        no_request?: (boolean|null);
        begin_index?: (number|protobuf.Long|null);
        list_size?: (number|protobuf.Long|null);
    }

    export class MSG_GetBattleTeamList implements IMSG_GetBattleTeamList {
        public key: string;
        public can_join: boolean;
        public no_request: boolean;
        public begin_index: (number|protobuf.Long);
        public list_size: (number|protobuf.Long);
    }

    interface IMSG_RetGetGattleTeamList {
        request?: (IMSG_GetBattleTeamList|null);
        list?: (IT_BattleTeamData[]|null);
    }

    export class MSG_RetGetGattleTeamList implements IMSG_RetGetGattleTeamList {
        public request?: (IMSG_GetBattleTeamList|null);
        public list: IT_BattleTeamData[];
    }

    interface IMSG_GetBattleTeamJoinRequestList {
    }

    export class MSG_GetBattleTeamJoinRequestList implements IMSG_GetBattleTeamJoinRequestList {
    }

    interface IMSG_RetGetBattleTeamJoinRequestList {
        list?: (IT_JoinBattleTeamRequest[]|null);
    }

    export class MSG_RetGetBattleTeamJoinRequestList implements IMSG_RetGetBattleTeamJoinRequestList {
        public list: IT_JoinBattleTeamRequest[];
    }

    interface IMSG_DoBattleTeamJoinRequest {
        request_user_id?: (number|protobuf.Long|null);
        pass?: (boolean|null);
    }

    export class MSG_DoBattleTeamJoinRequest implements IMSG_DoBattleTeamJoinRequest {
        public request_user_id: (number|protobuf.Long);
        public pass: boolean;
    }

    interface IMSG_RetDoBattleTeamJoinRequest {
        request_user_id?: (number|protobuf.Long|null);
        pass?: (boolean|null);
        ret_code?: (number|protobuf.Long|null);
    }

    export class MSG_RetDoBattleTeamJoinRequest implements IMSG_RetDoBattleTeamJoinRequest {
        public request_user_id: (number|protobuf.Long);
        public pass: boolean;
        public ret_code: (number|protobuf.Long);
    }

    interface IMSG_GetJointRequestCount {
        request_count?: (number|protobuf.Long|null);
    }

    export class MSG_GetJointRequestCount implements IMSG_GetJointRequestCount {
        public request_count: (number|protobuf.Long);
    }

    interface IMSG_RetJointRequestCount {
        request_count?: (number|protobuf.Long|null);
    }

    export class MSG_RetJointRequestCount implements IMSG_RetJointRequestCount {
        public request_count: (number|protobuf.Long);
    }

    interface IMSG_GetMyTeamData {
    }

    export class MSG_GetMyTeamData implements IMSG_GetMyTeamData {
    }

    interface IMSG_RetMyTeamData {
        team?: (IT_BattleTeam|null);
        members?: (IT_BattleTeamMember[]|null);
        events?: (IT_BattleTeamEvent[]|null);
    }

    export class MSG_RetMyTeamData implements IMSG_RetMyTeamData {
        public team?: (IT_BattleTeam|null);
        public members: IT_BattleTeamMember[];
        public events: IT_BattleTeamEvent[];
    }

    interface IMSG_LeavelBattleTeam {
        user_id?: (number|protobuf.Long|null);
    }

    export class MSG_LeavelBattleTeam implements IMSG_LeavelBattleTeam {
        public user_id: (number|protobuf.Long);
    }

    interface IMSG_RetLeavelBattleTeam {
        user_id?: (number|protobuf.Long|null);
        ok?: (boolean|null);
    }

    export class MSG_RetLeavelBattleTeam implements IMSG_RetLeavelBattleTeam {
        public user_id: (number|protobuf.Long);
        public ok: boolean;
    }

    interface IMSG_DisposeBattleTeam {
    }

    export class MSG_DisposeBattleTeam implements IMSG_DisposeBattleTeam {
    }

    interface IMSG_RetDisposeBattleTeam {
        ret_code?: (number|protobuf.Long|null);
    }

    export class MSG_RetDisposeBattleTeam implements IMSG_RetDisposeBattleTeam {
        public ret_code: (number|protobuf.Long);
    }

    interface IMSG_BattleTeamUserSign {
    }

    export class MSG_BattleTeamUserSign implements IMSG_BattleTeamUserSign {
    }

    interface IMSG_RetBattleTeamUserSign {
        ret_code?: (number|protobuf.Long|null);
        member?: (IT_BattleTeamMember|null);
    }

    export class MSG_RetBattleTeamUserSign implements IMSG_RetBattleTeamUserSign {
        public ret_code: (number|protobuf.Long);
        public member?: (IT_BattleTeamMember|null);
    }

    interface IMSG_ChangeBattleTeamInfo {
        team?: (IT_BattleTeam|null);
    }

    export class MSG_ChangeBattleTeamInfo implements IMSG_ChangeBattleTeamInfo {
        public team?: (IT_BattleTeam|null);
    }

    interface IMSG_RetChangeBattleTeamInfo {
        team?: (IT_BattleTeam|null);
        ret_code?: (number|protobuf.Long|null);
    }

    export class MSG_RetChangeBattleTeamInfo implements IMSG_RetChangeBattleTeamInfo {
        public team?: (IT_BattleTeam|null);
        public ret_code: (number|protobuf.Long);
    }

    interface IMSG_AppointTeamOffice {
        user_id?: (number|protobuf.Long|null);
        office?: (number|protobuf.Long|null);
    }

    export class MSG_AppointTeamOffice implements IMSG_AppointTeamOffice {
        public user_id: (number|protobuf.Long);
        public office: (number|protobuf.Long);
    }

    interface IMSG_RetAppointTeamOffice {
        user_id?: (number|protobuf.Long|null);
        office?: (number|protobuf.Long|null);
        ret_code?: (number|protobuf.Long|null);
        team?: (IT_BattleTeam|null);
    }

    export class MSG_RetAppointTeamOffice implements IMSG_RetAppointTeamOffice {
        public user_id: (number|protobuf.Long);
        public office: (number|protobuf.Long);
        public ret_code: (number|protobuf.Long);
        public team?: (IT_BattleTeam|null);
    }

    interface IMSG_RequireTeamSortList {
        type?: (number|protobuf.Long|null);
        begin?: (number|protobuf.Long|null);
        size?: (number|protobuf.Long|null);
    }

    export class MSG_RequireTeamSortList implements IMSG_RequireTeamSortList {
        public type: (number|protobuf.Long);
        public begin: (number|protobuf.Long);
        public size: (number|protobuf.Long);
    }

    interface IMSG_RetTeamSortList {
        type?: (number|protobuf.Long|null);
        begin?: (number|protobuf.Long|null);
        size?: (number|protobuf.Long|null);
        list?: (IT_BattleTeam[]|null);
    }

    export class MSG_RetTeamSortList implements IMSG_RetTeamSortList {
        public type: (number|protobuf.Long);
        public begin: (number|protobuf.Long);
        public size: (number|protobuf.Long);
        public list: IT_BattleTeam[];
    }

    interface IMSG_RequireTeamRedPoint {
    }

    export class MSG_RequireTeamRedPoint implements IMSG_RequireTeamRedPoint {
    }

    interface IMSG_ReplyTeamRedPoint {
        red_point_new_request?: (boolean|null);
        red_point_signin?: (boolean|null);
    }

    export class MSG_ReplyTeamRedPoint implements IMSG_ReplyTeamRedPoint {
        public red_point_new_request: boolean;
        public red_point_signin: boolean;
    }

    interface IMSG_RemindTeamReuestList {
        not_remaind_new?: (boolean|null);
    }

    export class MSG_RemindTeamReuestList implements IMSG_RemindTeamReuestList {
        public not_remaind_new: boolean;
    }
}
